/src/c-blosc2/plugins/codecs/zfp/src/template/decodef.c
Line | Count | Source |
1 | | static uint _t2(rev_decode_block, Scalar, DIMS)(zfp_stream* zfp, Scalar* fblock); |
2 | | |
3 | | /* private functions ------------------------------------------------------- */ |
4 | | |
5 | | /* decode contiguous floating-point block using lossy algorithm */ |
6 | | static uint |
7 | | _t2(decode_block, Scalar, DIMS)(zfp_stream* zfp, Scalar* fblock) |
8 | 0 | { |
9 | 0 | uint bits = 1; |
10 | | /* test if block has nonzero values */ |
11 | 0 | if (stream_read_bit(zfp->stream)) { |
12 | 0 | cache_align_(Int iblock[BLOCK_SIZE]); |
13 | 0 | int emax, maxprec; |
14 | | /* decode common exponent */ |
15 | 0 | bits += EBITS; |
16 | 0 | emax = (int)stream_read_bits(zfp->stream, EBITS) - EBIAS; |
17 | 0 | maxprec = precision(emax, zfp->maxprec, zfp->minexp, DIMS); |
18 | | /* decode integer block */ |
19 | 0 | bits += _t2(decode_block, Int, DIMS)(zfp->stream, zfp->minbits - bits, zfp->maxbits - bits, maxprec, iblock); |
20 | | /* perform inverse block-floating-point transform */ |
21 | 0 | _t1(inv_cast, Scalar)(iblock, fblock, BLOCK_SIZE, emax); |
22 | 0 | } |
23 | 0 | else { |
24 | | /* set all values to zero */ |
25 | 0 | uint i; |
26 | 0 | for (i = 0; i < BLOCK_SIZE; i++) |
27 | 0 | *fblock++ = 0; |
28 | 0 | if (zfp->minbits > bits) { |
29 | 0 | stream_skip(zfp->stream, zfp->minbits - bits); |
30 | 0 | bits = zfp->minbits; |
31 | 0 | } |
32 | 0 | } |
33 | 0 | return bits; |
34 | 0 | } Unexecuted instantiation: decode1d.c:decode_block_double_1 Unexecuted instantiation: decode1f.c:decode_block_float_1 Unexecuted instantiation: decode2d.c:decode_block_double_2 Unexecuted instantiation: decode2f.c:decode_block_float_2 Unexecuted instantiation: decode3d.c:decode_block_double_3 Unexecuted instantiation: decode3f.c:decode_block_float_3 Unexecuted instantiation: decode4d.c:decode_block_double_4 Unexecuted instantiation: decode4f.c:decode_block_float_4 |
35 | | |
36 | | /* public functions -------------------------------------------------------- */ |
37 | | |
38 | | /* decode contiguous floating-point block */ |
39 | | size_t |
40 | | _t2(zfp_decode_block, Scalar, DIMS)(zfp_stream* zfp, Scalar* fblock) |
41 | 0 | { |
42 | 0 | return REVERSIBLE(zfp) ? _t2(rev_decode_block, Scalar, DIMS)(zfp, fblock) : _t2(decode_block, Scalar, DIMS)(zfp, fblock); |
43 | 0 | } Unexecuted instantiation: zfp_decode_block_double_1 Unexecuted instantiation: zfp_decode_block_float_1 Unexecuted instantiation: zfp_decode_block_double_2 Unexecuted instantiation: zfp_decode_block_float_2 Unexecuted instantiation: zfp_decode_block_double_3 Unexecuted instantiation: zfp_decode_block_float_3 Unexecuted instantiation: zfp_decode_block_double_4 Unexecuted instantiation: zfp_decode_block_float_4 |