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: