BitUtil: c/c++ header

This commit is contained in:
x
2017-01-29 19:49:22 +01:00
parent 164fbc56aa
commit 6f9b407381

View File

@ -181,26 +181,26 @@ unsigned bitd132( uint32_t *in, unsigned n, uint32_t start);
unsigned bitd164( uint64_t *in, unsigned n, uint64_t start); unsigned bitd164( uint64_t *in, unsigned n, uint64_t start);
//-- transform sorted integer array to delta array. inc = increment: out[i] = in[i] - in[i-1] - inc //-- transform sorted integer array to delta array. inc = increment: out[i] = in[i] - in[i-1] - inc
unsigned bitdelta8( uint8_t *in, unsigned n, uint8_t *out, uint8_t start, unsigned inc); unsigned bitdenc8( uint8_t *in, unsigned n, uint8_t *out, uint8_t start, unsigned inc);
unsigned bitdelta16(uint16_t *in, unsigned n, uint16_t *out, uint16_t start, unsigned inc); unsigned bitdenc16(uint16_t *in, unsigned n, uint16_t *out, uint16_t start, unsigned inc);
unsigned bitdelta32(uint32_t *in, unsigned n, uint32_t *out, uint32_t start, unsigned inc); unsigned bitdenc32(uint32_t *in, unsigned n, uint32_t *out, uint32_t start, unsigned inc);
unsigned bitdelta64(uint64_t *in, unsigned n, uint64_t *out, uint64_t start, unsigned inc); unsigned bitdenc64(uint64_t *in, unsigned n, uint64_t *out, uint64_t start, unsigned inc);
//-- in-place reverse delta transform //-- in-place reverse delta transform
void bitund8( uint8_t *p, unsigned n, uint8_t start); // non decreasing void bitddec8( uint8_t *p, unsigned n, uint8_t start); // non decreasing
void bitund16( uint16_t *p, unsigned n, uint16_t start); void bitddec16( uint16_t *p, unsigned n, uint16_t start);
void bitund32( uint32_t *p, unsigned n, uint32_t start); void bitddec32( uint32_t *p, unsigned n, uint32_t start);
void bitund64( uint64_t *p, unsigned n, uint64_t start); void bitddec64( uint64_t *p, unsigned n, uint64_t start);
void bitund18( uint8_t *p, unsigned n, uint8_t start); // non strictly decreasing void bitd1dec8( uint8_t *p, unsigned n, uint8_t start); // non strictly decreasing
void bitund116( uint16_t *p, unsigned n, uint16_t start); void bitd1dec16( uint16_t *p, unsigned n, uint16_t start);
void bitund132( uint32_t *p, unsigned n, uint32_t start); void bitd1dec32( uint32_t *p, unsigned n, uint32_t start);
void bitund164( uint64_t *p, unsigned n, uint64_t start); void bitd1dec64( uint64_t *p, unsigned n, uint64_t start);
void bitundn8( uint8_t *p, unsigned n, uint8_t start, uint8_t inc); // increment void bitddecn8( uint8_t *p, unsigned n, uint8_t start, uint8_t inc); // increment
void bitundn16( uint16_t *p, unsigned n, uint16_t start, uint16_t inc); void bitddecn16( uint16_t *p, unsigned n, uint16_t start, uint16_t inc);
void bitundn32( uint32_t *p, unsigned n, uint32_t start, uint32_t inc); void bitddecn32( uint32_t *p, unsigned n, uint32_t start, uint32_t inc);
void bitundn64( uint64_t *p, unsigned n, uint64_t start, uint64_t inc); void bitddecn64( uint64_t *p, unsigned n, uint64_t start, uint64_t inc);
//------------- FOR array bit length: out[i] = in[i] - start ------------------------------------- //------------- FOR array bit length: out[i] = in[i] - start -------------------------------------
unsigned bitf32( uint32_t *in, unsigned n, uint32_t start); // sorted unsigned bitf32( uint32_t *in, unsigned n, uint32_t start); // sorted
@ -220,16 +220,16 @@ unsigned bitz32( uint32_t *in, unsigned n, uint32_t start);
unsigned bitz64( uint64_t *in, unsigned n, uint64_t start); unsigned bitz64( uint64_t *in, unsigned n, uint64_t start);
//-- Zigzag transform //-- Zigzag transform
unsigned bitzigzag8( uint8_t *in, unsigned n, uint8_t *out, uint8_t start); unsigned bitzenc8( uint8_t *in, unsigned n, uint8_t *out, uint8_t start, uint8_t inc);
unsigned bitzigzag16(uint16_t *in, unsigned n, uint16_t *out, uint16_t start); unsigned bitzenc16(uint16_t *in, unsigned n, uint16_t *out, uint16_t start, uint16_t inc);
unsigned bitzigzag32(uint32_t *in, unsigned n, uint32_t *out, uint32_t start); unsigned bitzenc32(uint32_t *in, unsigned n, uint32_t *out, uint32_t start, uint32_t inc);
unsigned bitzigzag64(uint64_t *in, unsigned n, uint64_t *out, uint64_t start); unsigned bitzenc64(uint64_t *in, unsigned n, uint64_t *out, uint64_t start, uint64_t inc);
//-- Zigzag reverse transform //-- Zigzag reverse transform
void bitunzigzag8( uint8_t *p, unsigned n, uint8_t start); void bitzdec8( uint8_t *p, unsigned n, uint8_t start);
void bitunzigzag16( uint16_t *p, unsigned n, uint16_t start); void bitzdec16( uint16_t *p, unsigned n, uint16_t start);
void bitunzigzag32( uint32_t *p, unsigned n, uint32_t start); void bitzdec32( uint32_t *p, unsigned n, uint32_t start);
void bitunzigzag64( uint64_t *p, unsigned n, uint64_t start); void bitzdec64( uint64_t *p, unsigned n, uint64_t start);
//---- Floating point to Integer de-/composition --------------------------------- //---- Floating point to Integer de-/composition ---------------------------------
#define FMANT_BITS 16 #define FMANT_BITS 16
@ -247,7 +247,7 @@ void bitunzigzag64( uint64_t *p, unsigned n, uint64_t start);
// De-/Compose floating point array to/from integer arrays (sign,exponent,mantissa) for using with "Integer Compression" functions ------------ // De-/Compose floating point array to/from integer arrays (sign,exponent,mantissa) for using with "Integer Compression" functions ------------
void bitdouble( double *in, unsigned n, int *expo, uint64_t *mant); void bitdouble( double *in, unsigned n, int *expo, uint64_t *mant);
void bitundouble( int *expo, uint64_t *mant, unsigned n, double *out); void bitddecouble( int *expo, uint64_t *mant, unsigned n, double *out);
void bitzdouble( double *in, unsigned n, int *expo, uint64_t *mant); void bitzdouble( double *in, unsigned n, int *expo, uint64_t *mant);
void bitzundouble( int *expo, uint64_t *mant, unsigned n, double *out); void bitzundouble( int *expo, uint64_t *mant, unsigned n, double *out);
void bitfloat( float *in, unsigned n, int *expo, unsigned *mant); void bitfloat( float *in, unsigned n, int *expo, unsigned *mant);