TurboPFor: Floating Point c/c++ header

This commit is contained in:
x
2018-02-13 19:55:34 +01:00
parent 99f1644c05
commit ae2d12ccd3

36
fp.h
View File

@ -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 <stdint.h>
#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