From 31689dfdd728326f571f5c0ac9ba1ea60f7248b6 Mon Sep 17 00:00:00 2001 From: x Date: Thu, 23 Mar 2023 11:35:19 +0100 Subject: [PATCH] TurboPFor: Integer Compression c/c++ header --- include/ic.h | 59 ++++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/include/ic.h b/include/ic.h index 97e6a24..7283629 100755 --- a/include/ic.h +++ b/include/ic.h @@ -975,35 +975,35 @@ unsigned trled( const unsigned char *__restrict in, unsigned inlen, unsigned c } #endif -//-- "Integer Compression" variable length encoding with bitio ------------------ - -#ifdef __cplusplus -extern "C" { -#endif -//-- Gamma coding (length limited) : Full 32 bit range -size_t bitgenc32( unsigned char *_in, size_t _inlen, unsigned char *out); -size_t bitgdec32( unsigned char *in, size_t _outlen, unsigned char *_out); - -//-- Rice Coding (adaptive length limited) : Full 32 bit range --- -size_t bitrenc32( unsigned char *_in, size_t _inlen, unsigned char *out); -size_t bitrdec32( unsigned char *in, size_t _outlen, unsigned char *_out); - -size_t vlcenc32( unsigned char *_in, size_t _inlen, unsigned char *out); // TurboVLC 32 bits -size_t vlcdec32( unsigned char *in, size_t _outlen, unsigned char *_out); - -size_t vlcenc16( unsigned char *_in, size_t _inlen, unsigned char *out); // TurboVLC 16 bits -size_t vlcdec16( unsigned char *in, size_t _outlen, unsigned char *_out); - -size_t vlczenc16( unsigned char *_in, size_t _inlen, unsigned char *out); // TurboVLC 16 bits zigzag -size_t vlczdec16( unsigned char *in, size_t _outlen, unsigned char *_out); - -size_t vlczenc32( unsigned char *_in, size_t _inlen, unsigned char *out); // TurboVLC 32 bits zigzag -size_t vlczdec32( unsigned char *in, size_t _outlen, unsigned char *_out); - -#ifdef __cplusplus -} -#endif - +//-- "Integer Compression" variable length encoding with bitio ------------------ + +#ifdef __cplusplus +extern "C" { +#endif +//-- Gamma coding (length limited) : Full 32 bit range +size_t bitgenc32( unsigned char *_in, size_t _inlen, unsigned char *out); +size_t bitgdec32( unsigned char *in, size_t _outlen, unsigned char *_out); + +//-- Rice Coding (adaptive length limited) : Full 32 bit range --- +size_t bitrenc32( unsigned char *_in, size_t _inlen, unsigned char *out); +size_t bitrdec32( unsigned char *in, size_t _outlen, unsigned char *_out); + +size_t vlcenc32( unsigned char *_in, size_t _inlen, unsigned char *out); // TurboVLC 32 bits +size_t vlcdec32( unsigned char *in, size_t _outlen, unsigned char *_out); + +size_t vlcenc16( unsigned char *_in, size_t _inlen, unsigned char *out); // TurboVLC 16 bits +size_t vlcdec16( unsigned char *in, size_t _outlen, unsigned char *_out); + +size_t vlczenc16( unsigned char *_in, size_t _inlen, unsigned char *out); // TurboVLC 16 bits zigzag +size_t vlczdec16( unsigned char *in, size_t _outlen, unsigned char *_out); + +size_t vlczenc32( unsigned char *_in, size_t _inlen, unsigned char *out); // TurboVLC 32 bits zigzag +size_t vlczdec32( unsigned char *in, size_t _outlen, unsigned char *_out); + +#ifdef __cplusplus +} +#endif + //-- "Integer Compression" variable byte (scalar TurboVByte+ SIMD TurboByte) --------------------------------------------------------------- #ifdef __cplusplus @@ -1625,4 +1625,3 @@ unsigned char *vsdec64(unsigned char *__restrict in, size_t n, uint64_t * } #endif - \ No newline at end of file