Commit 1895907
committed
Add support for FLAC compression of 64bit integers.
- Add native support in the compiled extension for compressing 64bit
integers with FLAC. The high and low 32bits are compressed in
separate channels. On compression (for little-endian systems), the
input 64bit integers are simply interpreted as interleaved stereo
channels. On decompression, the separate channels in each frame
are extracted to the high / low 32bit portions of the 64bit integers.
Expose C functions in public header.
- Add 32bit / 64bit wrappers to the bindings, and support for 64bit
integers to the mid-level encode / decode functions.
- Changes to the treatment of floating point data. float32 data is
converted to int32 as before, but float64 data is now converted to
int64 to gain additional precision.
- Changes to int64 encoding- previously this was restricted to either
32bit range around an offset or forced conversion as floating point
data. Now this data is supported natively. Remove the int32/int64
conversion routines which are no longer needed.
- Change the HDF5 and Zarr on-disk format (bumping version to "1").
This change was necessary to support storing int64 data without
an associated offset.
- Modify and expand unit tests to cover new int64 cases. For MPI tests,
ensure random data is created on one process and then distributed.
- Cleanup benchmarking script.
- Changes to MPI I/O helper functions: refactor the extract, send
and receive steps into subroutines for more clarity. Use Send
instead of Isend for better simplicity and more robustness across
MPI implementations.1 parent b67e16d commit 1895907
File tree
28 files changed
+3217
-1331
lines changed- src/flacarray
- libflacarray
- scripts
- tests
28 files changed
+3217
-1331
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | | - | |
48 | | - | |
| 47 | + | |
49 | 48 | | |
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
53 | 52 | | |
54 | | - | |
| 53 | + | |
55 | 54 | | |
56 | | - | |
57 | | - | |
58 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
59 | 58 | | |
60 | 59 | | |
61 | 60 | | |
| |||
125 | 124 | | |
126 | 125 | | |
127 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
128 | 132 | | |
129 | 133 | | |
130 | 134 | | |
| |||
245 | 249 | | |
246 | 250 | | |
247 | 251 | | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
248 | 257 | | |
249 | 258 | | |
250 | 259 | | |
| |||
341 | 350 | | |
342 | 351 | | |
343 | 352 | | |
| 353 | + | |
344 | 354 | | |
345 | 355 | | |
346 | 356 | | |
| |||
366 | 376 | | |
367 | 377 | | |
368 | 378 | | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
369 | 382 | | |
370 | 383 | | |
371 | 384 | | |
| |||
463 | 476 | | |
464 | 477 | | |
465 | 478 | | |
| 479 | + | |
466 | 480 | | |
467 | 481 | | |
468 | 482 | | |
| |||
514 | 528 | | |
515 | 529 | | |
516 | 530 | | |
| 531 | + | |
517 | 532 | | |
518 | 533 | | |
519 | 534 | | |
| |||
542 | 557 | | |
543 | 558 | | |
544 | 559 | | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
545 | 565 | | |
546 | 566 | | |
547 | 567 | | |
| |||
553 | 573 | | |
554 | 574 | | |
555 | 575 | | |
| 576 | + | |
556 | 577 | | |
557 | 578 | | |
558 | 579 | | |
| |||
604 | 625 | | |
605 | 626 | | |
606 | 627 | | |
| 628 | + | |
607 | 629 | | |
608 | 630 | | |
609 | 631 | | |
| |||
617 | 639 | | |
618 | 640 | | |
619 | 641 | | |
| 642 | + | |
| 643 | + | |
620 | 644 | | |
621 | 645 | | |
622 | 646 | | |
623 | 647 | | |
624 | 648 | | |
| 649 | + | |
625 | 650 | | |
626 | 651 | | |
627 | 652 | | |
| |||
646 | 671 | | |
647 | 672 | | |
648 | 673 | | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
649 | 678 | | |
650 | 679 | | |
651 | 680 | | |
| |||
657 | 686 | | |
658 | 687 | | |
659 | 688 | | |
| 689 | + | |
660 | 690 | | |
661 | 691 | | |
662 | 692 | | |
| |||
706 | 736 | | |
707 | 737 | | |
708 | 738 | | |
| 739 | + | |
709 | 740 | | |
710 | 741 | | |
711 | 742 | | |
| |||
719 | 750 | | |
720 | 751 | | |
721 | 752 | | |
| 753 | + | |
| 754 | + | |
722 | 755 | | |
723 | 756 | | |
724 | 757 | | |
725 | 758 | | |
726 | 759 | | |
| 760 | + | |
727 | 761 | | |
728 | 762 | | |
729 | 763 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
18 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | | - | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
| 62 | + | |
| 63 | + | |
69 | 64 | | |
70 | 65 | | |
71 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
30 | 34 | | |
31 | 35 | | |
32 | 36 | | |
| |||
52 | 56 | | |
53 | 57 | | |
54 | 58 | | |
| 59 | + | |
55 | 60 | | |
56 | 61 | | |
57 | 62 | | |
| |||
79 | 84 | | |
80 | 85 | | |
81 | 86 | | |
| 87 | + | |
82 | 88 | | |
83 | | - | |
| 89 | + | |
84 | 90 | | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
| 91 | + | |
| 92 | + | |
94 | 93 | | |
95 | | - | |
96 | | - | |
97 | 94 | | |
98 | 95 | | |
99 | 96 | | |
100 | 97 | | |
101 | 98 | | |
102 | | - | |
| 99 | + | |
103 | 100 | | |
104 | 101 | | |
105 | 102 | | |
| |||
108 | 105 | | |
109 | 106 | | |
110 | 107 | | |
| 108 | + | |
111 | 109 | | |
112 | 110 | | |
113 | 111 | | |
| |||
122 | 120 | | |
123 | 121 | | |
124 | 122 | | |
| 123 | + | |
125 | 124 | | |
126 | 125 | | |
127 | 126 | | |
128 | 127 | | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
133 | 135 | | |
134 | 136 | | |
135 | 137 | | |
| |||
144 | 146 | | |
145 | 147 | | |
146 | 148 | | |
| 149 | + | |
147 | 150 | | |
148 | 151 | | |
149 | 152 | | |
| |||
161 | 164 | | |
162 | 165 | | |
163 | 166 | | |
| 167 | + | |
164 | 168 | | |
165 | 169 | | |
166 | 170 | | |
0 commit comments