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