110 lines
2.3 KiB
C
110 lines
2.3 KiB
C
//#include "defines.h"
|
|
//#include <rw.h>
|
|
#include <stdio.h>
|
|
#include "defines.h"
|
|
//#include "callZlib.h"
|
|
#include <stdint.h>
|
|
//#include <time.h>
|
|
//#include <sys/time.h>
|
|
//#include "conf.h"
|
|
|
|
#ifndef _BG_H
|
|
#define _BG_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
# define M_LN10 2.30258509299404568401799145468436421 /* loge(10) */
|
|
# define M_LN2 0.693147180559945309417232121458176568 /* loge(2) */
|
|
#define int_CEWI 0
|
|
#define NCO_PPC_BIT_XPL_NBR_MIN 2
|
|
|
|
typedef union lint16
|
|
{
|
|
unsigned short usvalue;
|
|
short svalue;
|
|
unsigned char byte[2];
|
|
} lint16;
|
|
|
|
typedef union lint32
|
|
{
|
|
int ivalue;
|
|
unsigned int uivalue;
|
|
unsigned char byte[4];
|
|
} lint32;
|
|
|
|
typedef union lint64
|
|
{
|
|
long lvalue;
|
|
unsigned long ulvalue;
|
|
unsigned char byte[8];
|
|
} lint64;
|
|
|
|
typedef union ldouble
|
|
{
|
|
double value;
|
|
unsigned long lvalue;
|
|
unsigned char byte[8];
|
|
} ldouble;
|
|
|
|
typedef union lfloat
|
|
{
|
|
float value;
|
|
unsigned int ivalue;
|
|
unsigned char byte[4];
|
|
} lfloat;
|
|
|
|
typedef struct bg_params
|
|
{
|
|
int dataType;
|
|
|
|
int sol_ID;// GB
|
|
int zlibMode; //* four options: Z_NO_COMPRESSION, or Z_BEST_SPEED, Z_BEST_COMPRESSION, Z_DEFAULT_COMPRESSION
|
|
int bgMode; //BITGROOM, BITSHAVE or BITSET
|
|
int errorControlMode;
|
|
int NSD;
|
|
int DSD;
|
|
|
|
float fmin, fmax;
|
|
double dmin, dmax;
|
|
|
|
} bg_params;
|
|
|
|
|
|
typedef struct bg_exedata
|
|
{
|
|
unsigned int BG_SIZE_TYPE; //the length (# bytes) of the size_t in the system at runtime //4 or 8: sizeof(size_t)
|
|
} bg_exedata;
|
|
|
|
|
|
extern int versionNumber[4];
|
|
|
|
//-------------------key global variables--------------
|
|
extern int dataEndianType; //*endian type of the data read from disk
|
|
extern int sysEndianType; //*sysEndianType is actually set automatically.
|
|
|
|
extern bg_params *confparams_cpr;
|
|
extern bg_params *confparams_dec;
|
|
extern bg_exedata *exe_params;
|
|
|
|
|
|
//for libpressio
|
|
extern int bgMode_libpressio;
|
|
extern int errorControlMode_libpressio;
|
|
extern int nsd_libpressio;
|
|
extern int dsd_libpressio;
|
|
|
|
|
|
unsigned char *BG_compress(int dataType, void *data, size_t *outSize, size_t nbEle);
|
|
|
|
unsigned char* BG_compress_args(int dataType, void *data, size_t *outSize, int bgMode, int errorControlMode, int nsd, int dsd, size_t nbEle, unsigned char *data_);
|
|
|
|
//void *BG_decompress(int dataType, unsigned char *bytes, size_t byteLength, size_t nbEle);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* ----- #ifndef _BG_H ----- */
|