A class to encode and decode between Fibonacci and binary code.
More...
#include <coder_fibonacci.hpp>
|
| static uint8_t | encoding_length (uint64_t w) |
| | Get the number of bits that are necessary to encode the value w in Fibonacci code. More...
|
| |
| template<bool t_sumup, bool t_inc, class t_iter > |
| static uint64_t | decode (const uint64_t *data, const size_type start_idx, size_type n, t_iter it=(t_iter) nullptr) |
| | Decode n Fibonacci encoded bits beginning at start_idx in the bitstring "data". More...
|
| |
| template<bool t_sumup, bool t_inc, class t_iter > |
| static uint64_t | decode1 (const uint64_t *data, const size_type start_idx, size_type n, t_iter it=(t_iter) nullptr) |
| |
| static uint64_t | decode_prefix_sum (const uint64_t *d, const size_type start_idx, size_type n) |
| | Decode n Fibonacci encoded integers beginning at start_idx in the bitstring "data" and return the sum of these values. More...
|
| |
| static uint64_t | decode_prefix_sum (const uint64_t *d, const size_type start_idx, const size_type end_idx, size_type n) |
| | Decode n Fibonacci encoded integers beginning at start_idx and ending at end_idx (exclusive) in the bitstring "data" and return the sum of these values. More...
|
| |
| template<class int_vector1 , class int_vector2 > |
| static bool | encode (const int_vector1 &v, int_vector2 &z) |
| |
| template<class int_vector > |
| static uint64_t * | raw_data (int_vector &v) |
| |
| static void | encode (uint64_t x, uint64_t *&z, uint8_t &offset) |
| | Encode one positive integer x to an int_vector at bit position start_idx. More...
|
| |
| template<class int_vector1 , class int_vector2 > |
| static bool | decode (const int_vector1 &z, int_vector2 &v) |
| |
template<typename T = void>
class sdsl::coder::fibonacci< T >
A class to encode and decode between Fibonacci and binary code.
Definition at line 21 of file coder_fibonacci.hpp.
◆ size_type
template<typename T = void>
◆ decode() [1/2]
template<typename T >
template<class int_vector1 , class int_vector2 >
◆ decode() [2/2]
template<typename T >
template<bool t_sumup, bool t_inc, class t_iter >
Decode n Fibonacci encoded bits beginning at start_idx in the bitstring "data".
Definition at line 384 of file coder_fibonacci.hpp.
◆ decode1()
template<typename T >
template<bool t_sumup, bool t_inc, class t_iter >
◆ decode_prefix_sum() [1/2]
template<typename T = void>
Decode n Fibonacci encoded integers beginning at start_idx and ending at end_idx (exclusive) in the bitstring "data" and return the sum of these values.
- See also
- decode_prefix_sum
◆ decode_prefix_sum() [2/2]
Decode n Fibonacci encoded integers beginning at start_idx in the bitstring "data" and return the sum of these values.
- Parameters
-
| data | Pointer to the beginning of the Fibonacci encoded bitstring. |
| start_idx | Index of the first bit to encode the values from. |
| n | Number of values to decode from the bitstring. Attention: There have to be at least n encoded values in the bitstring. |
Definition at line 486 of file coder_fibonacci.hpp.
◆ encode() [1/2]
template<typename T >
template<class int_vector1 , class int_vector2 >
◆ encode() [2/2]
Encode one positive integer x to an int_vector at bit position start_idx.
- Parameters
-
| x | Positive integer to encode. |
| z | Raw data of vector to write the encoded form of x. |
| offset | Start offset to write the encoded form of x in z. . |
Definition at line 276 of file coder_fibonacci.hpp.
◆ encoding_length()
Get the number of bits that are necessary to encode the value w in Fibonacci code.
- Parameters
-
| w | 64bit integer to get the length of its fibonacci encoding. Inclusive the terminating 1 of the code. |
Definition at line 162 of file coder_fibonacci.hpp.
◆ raw_data()
template<typename T = void>
◆ data
◆ min_codeword_length
template<typename T = void>
The documentation for this class was generated from the following file: