BitMagic-C++
|
Byte based writer for un-aligned bit streaming. More...
#include <encoding.h>
Public Member Functions | |
bit_out (TEncoder &dest) | |
~bit_out () | |
void | put_bit (unsigned value) BMNOEXCEPT |
issue single bit into encode bit-stream More... | |
void | put_bits (unsigned value, unsigned count) BMNOEXCEPT |
issue count bits out of value More... | |
void | put_zero_bit () BMNOEXCEPT |
issue 0 into output stream More... | |
void | put_zero_bits (unsigned count) BMNOEXCEPT |
issue specified number of 0s More... | |
void | gamma (unsigned value) BMNOEXCEPT |
Elias Gamma encode the specified value. More... | |
void | bic_encode_u16 (const bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT |
Binary Interpolative array decode. More... | |
void | bic_encode_u16_rg (const bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT |
Binary Interpolative encoding (array of 16-bit ints) More... | |
void | bic_encode_u16_cm (const bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT |
Binary Interpolative encoding (array of 16-bit ints) cm - "center-minimal". More... | |
void | bic_encode_u32_cm (const bm::word_t *arr, unsigned sz, bm::word_t lo, bm::word_t hi) BMNOEXCEPT |
Binary Interpolative encoding (array of 32-bit ints) cm - "center-minimal". More... | |
void | flush () BMNOEXCEPT |
Flush the incomplete 32-bit accumulator word. More... | |
Byte based writer for un-aligned bit streaming.
Definition at line 182 of file encoding.h.
|
inline |
Binary Interpolative array decode.
Definition at line 207 of file encoding.h.
Referenced by bm::serializer< BV >::bienc_gap_bit_block(), bm::serializer< BV >::interpolated_arr_bit_block(), bm::serializer< BV >::interpolated_encode_gap_block(), bm::serializer< BV >::interpolated_gap_array(), and bm::serializer< BV >::interpolated_gap_array_v0().
void bm::bit_out< TEncoder >::bic_encode_u16_cm | ( | const bm::gap_word_t * | arr, |
unsigned | sz, | ||
bm::gap_word_t | lo, | ||
bm::gap_word_t | hi | ||
) |
Binary Interpolative encoding (array of 16-bit ints) cm - "center-minimal".
Definition at line 1420 of file encoding.h.
References bm::bit_scan_reverse32(), and BM_ASSERT.
void bm::bit_out< TEncoder >::bic_encode_u16_rg | ( | const bm::gap_word_t * | arr, |
unsigned | sz, | ||
bm::gap_word_t | lo, | ||
bm::gap_word_t | hi | ||
) |
Binary Interpolative encoding (array of 16-bit ints)
Definition at line 1259 of file encoding.h.
References bm::bit_scan_reverse32(), and BM_ASSERT.
void bm::bit_out< TEncoder >::bic_encode_u32_cm | ( | const bm::word_t * | arr, |
unsigned | sz, | ||
bm::word_t | lo, | ||
bm::word_t | hi | ||
) |
Binary Interpolative encoding (array of 32-bit ints) cm - "center-minimal".
Definition at line 1294 of file encoding.h.
References bm::bit_scan_reverse32(), and BM_ASSERT.
Referenced by bm::serializer< BV >::bienc_arr_sblock(), and bm::sparse_vector_serializer< SV >::serialize().
|
inline |
Flush the incomplete 32-bit accumulator word.
Definition at line 230 of file encoding.h.
Referenced by bm::serializer< BV >::bienc_gap_bit_block(), bm::serializer< BV >::interpolated_arr_bit_block(), bm::serializer< BV >::interpolated_encode_gap_block(), bm::serializer< BV >::interpolated_gap_array(), and bm::serializer< BV >::interpolated_gap_array_v0().
void bm::bit_out< TEncoder >::gamma | ( | unsigned | value | ) |
Elias Gamma encode the specified value.
Definition at line 1187 of file encoding.h.
References bm::bit_scan_reverse32(), and BM_ASSERT.
Referenced by bm::sparse_vector_serializer< SV >::encode_remap_matrix(), bm::serializer< BV >::gamma_gap_array(), and bm::serializer< BV >::interpolated_gap_array_v0().
void bm::bit_out< TEncoder >::put_bit | ( | unsigned | value | ) |
issue single bit into encode bit-stream
Definition at line 1095 of file encoding.h.
References BM_ASSERT.
void bm::bit_out< TEncoder >::put_bits | ( | unsigned | value, |
unsigned | count | ||
) |
void bm::bit_out< TEncoder >::put_zero_bit |
issue 0 into output stream
Definition at line 1148 of file encoding.h.
void bm::bit_out< TEncoder >::put_zero_bits | ( | unsigned | count | ) |
issue specified number of 0s
Definition at line 1157 of file encoding.h.