34#define CX_E 2.7182818284590452353602874713526625L
35#define CX_LN2 0.6931471805599453094172321214581766L
36#define CX_LN10 2.3025850929940456840179914546843642L
37#define CX_PI 3.1415926535897932384626433832795029L
38#define CX_PI_2 1.5707963267948966192313216916397514L
39#define CX_PI_4 0.7853981633974483096156608458198757L
40#define CX_SQRT2 1.4142135623730950488016887242096981L
47#define CX_MININT8 ((cxint8)0x80)
48#define CX_MAXINT8 ((cxint8)0x7f)
49#define CX_MAXUINT8 ((cxuint8)0xff)
51#define CX_MININT16 ((cxint16)0x8000)
52#define CX_MAXINT16 ((cxint16)0x7fff)
53#define CX_MAXUINT16 ((cxuint16)0xffff)
55#define CX_MININT32 ((cxint32)0x80000000)
56#define CX_MAXINT32 ((cxint32)0x7fffffff)
57#define CX_MAXUINT32 ((cxuint32)0xffffffff)
59#define CX_MININT64 ((cxint64)CX_INT64_CONSTANT(0x8000000000000000))
60#define CX_MAXINT64 CX_INT64_CONSTANT(0x7fffffffffffffff)
61#define CX_MAXUINT64 CX_INT64_CONSTANT(0xffffffffffffffffU)
72typedef long long cxllong;
75typedef unsigned char cxuchar;
76typedef unsigned short cxushort;
77typedef unsigned int cxuint;
78typedef unsigned long cxulong;
79typedef unsigned long long cxullong;
80typedef cxuchar cxbyte;
83typedef double cxdouble;
86typedef const void *cxcptr;
93typedef cxint (*cx_compare_func)(cxcptr a, cxcptr b);
94typedef cxint (*cx_compare_data_func)(cxcptr a, cxcptr b, cxptr data);
95typedef cxbool (*cx_equal_func)(cxcptr a, cxcptr b);
96typedef void (*cx_free_func)(cxptr data);