diff --git a/fp.h b/fp.h index fb27680..871e40b 100644 --- a/fp.h +++ b/fp.h @@ -21,7 +21,7 @@ - twitter : https://twitter.com/powturbo - email : powturbo [_AT_] gmail [_DOT_] com **/ -// "Floating Point Compressionw/ TurboPFor" +// "Floating Point/Integer Compressionw/ TurboPFor" #ifdef __cplusplus extern "C" { #endif @@ -31,28 +31,34 @@ extern "C" { #include #endif //---- Last value Predictor -unsigned char *fppenc64( uint64_t *in, unsigned n, unsigned char *out, uint64_t start); -unsigned char *fppdec64( unsigned char *in, unsigned n, uint64_t *out, uint64_t start); +unsigned char *fppenc64( uint64_t *in, size_t n, unsigned char *out, uint64_t start); +unsigned char *fppdec64( unsigned char *in, size_t n, uint64_t *out, uint64_t start); -unsigned char *fpgenc64( uint64_t *in, unsigned n, unsigned char *out, uint64_t start); -unsigned char *fpgdec64( unsigned char *in, unsigned n, uint64_t *out, uint64_t start); +unsigned char *fpgenc64( uint64_t *in, size_t n, unsigned char *out, uint64_t start); +unsigned char *fpgdec64( unsigned char *in, size_t n, uint64_t *out, uint64_t start); -unsigned char *fppdec64(unsigned char *in, unsigned n, uint64_t *out, uint64_t start); -unsigned char *fpddenc64(uint64_t *in, unsigned n, unsigned char *out, uint64_t start); +unsigned char *fppdec64( unsigned char *in, size_t n, uint64_t *out, uint64_t start); +unsigned char *fpddenc64( uint64_t *in, size_t n, unsigned char *out, uint64_t start); -unsigned char *bitgenc32(uint32_t *in, unsigned n, unsigned char *out, uint32_t start); -unsigned char *bitgdec32(unsigned char *in, unsigned n, uint32_t *out, uint32_t start); +//---- Delta of delta +unsigned char *bitgenc32( uint32_t *in, size_t n, unsigned char *out, uint32_t start); +unsigned char *bitgdec32( unsigned char *in, size_t n, uint32_t *out, uint32_t start); -unsigned char *bitgenc64(uint64_t *in, unsigned n, unsigned char *out, uint64_t start); -unsigned char *bitgdec64(unsigned char *in, unsigned n, uint64_t *out, uint64_t start); +unsigned char *bitgenc64( uint64_t *in, size_t n, unsigned char *out, uint64_t start); +unsigned char *bitgdec64( unsigned char *in, size_t n, uint64_t *out, uint64_t start); + +//unsigned char *bitg0enc32( uint32_t *in, size_t n, unsigned char *out, uint32_t start); +//unsigned char *bitg0dec32( unsigned char *in, size_t n, uint32_t *out, uint32_t start); +//unsigned char *bitg0enc64( uint64_t *in, size_t n, unsigned char *out, uint64_t start); +//unsigned char *bitg0dec64( unsigned char *in, size_t n, uint64_t *out, uint64_t start); //---- FCM: Finite Context Method Predictor -unsigned char *fpfcmenc64( uint64_t *in, unsigned n, unsigned char *out, uint64_t start); -unsigned char *fpfcmdec64( unsigned char *in, unsigned n, uint64_t *out, uint64_t start); +unsigned char *fpfcmenc64( uint64_t *in, size_t n, unsigned char *out, uint64_t start); +unsigned char *fpfcmdec64( unsigned char *in, size_t n, uint64_t *out, uint64_t start); // DFCM: Differential Finite Context Method Predictor -unsigned char *fpdfcmenc64(uint64_t *in, unsigned n, unsigned char *out, uint64_t start); -unsigned char *fpdfcmdec64(unsigned char *in, unsigned n, uint64_t *out, uint64_t start); +unsigned char *fpdfcmenc64(uint64_t *in, size_t n, unsigned char *out, uint64_t start); +unsigned char *fpdfcmdec64(unsigned char *in, size_t n, uint64_t *out, uint64_t start); #ifdef __cplusplus } #endif