1 /* Variable-length binary prefix codes for integers
2  */
3 #ifndef eslVARINT_INCLUDED
4 #define eslVARINT_INCLUDED
5 #include "esl_config.h"
6 
7 #include "easel.h"
8 
9 extern int esl_varint_expgol(int v, int k, uint64_t *opt_code, int *opt_n);
10 extern int esl_varint_expgol_decode(uint64_t code, int k, int *opt_v, int *opt_n);
11 
12 extern int esl_varint_rice(int v, int k, uint64_t *opt_code, int *opt_n);
13 extern int esl_varint_rice_decode(uint64_t code, int k, int *opt_v, int *opt_n);
14 
15 extern int esl_varint_delta(int v, uint64_t *opt_code, int *opt_n);
16 extern int esl_varint_delta_decode(uint64_t code, int *opt_v, int *opt_n);
17 
18 extern int esl_varint_google(int v, int k, uint64_t *opt_code, int *opt_n);
19 extern int esl_varint_google_decode(uint64_t code, int k, int *opt_v, int *opt_n);
20 
21 
22 #endif // eslVARINT_INCLUDED
23