TurboPFor: Variable byte c/c++ header

This commit is contained in:
x
2023-03-14 10:51:55 +01:00
parent 9f5a38a189
commit 79232d0524

View File

@ -1,12 +1,12 @@
//-- "Integer Compression" variable byte (scalar TurboVByte+ SIMD TurboByte) ---------------------------------------------------------------
#define V8PAYLOAD(_n_, _usize_) (((_n_)*(_usize_/16)+7)/8)
#define V8BOUND_(_n_, _usize_) (V8PAYLOAD(_n_, _usize_)+ (_n_)*(_usize_/8))
#define V8BOUND16(_n_) V8BOUND_(_n_, 16)
#define V8BOUND32(_n_) V8BOUND_(_n_, 32)
#ifdef __cplusplus
extern "C" {
#endif
size_t v8bound16(const uint16_t *in, size_t n);
size_t v8bound32(const uint32_t *in, size_t n);
//----------------------------- TurboVByte 'vb':Variable byte + SIMD TurboByte 'v8': array functions -----
// Encoding/Decoding: Return value = end of compressed/decompressed output/input buffer out/in