39 typedef unsigned int U32;
40 typedef unsigned short U16;
41 typedef unsigned char U8;
43 #if defined(_WIN32) // 64 byte integer under Windows 44 typedef unsigned __int64
U64;
46 #else // 64 byte integer elsewhere ... 47 typedef unsigned long long U64;
48 typedef long long I64;
54 #if defined(_MSC_VER) && (_MSC_VER < 1300) 63 #define F32_MAX +2.0e+37f 64 #define F32_MIN -2.0e+37f 66 #define U8_MIN ((U8)0x0) // 0 67 #define U8_MAX ((U8)0xFF) // 255 68 #define U8_MAX_PLUS_ONE 0x0100 // 256 70 #define U16_MIN ((U16)0x0) // 0 71 #define U16_MAX ((U16)0xFFFF) // 65535 72 #define U16_MAX_PLUS_ONE 0x00010000 // 65536 74 #define U32_MIN ((U32)0x0) // 0 75 #define U32_MAX ((U32)0xFFFFFFFF) // 4294967295 76 #if defined(WIN32) // 64 byte unsigned int constant under Windows 77 #define U32_MAX_PLUS_ONE 0x0000000100000000 // 4294967296 78 #else // 64 byte unsigned int constant elsewhere ... 79 #define U32_MAX_PLUS_ONE 0x0000000100000000ull // 4294967296 82 #define I8_MIN ((I8)0x80) // -128 83 #define I8_MAX ((I8)0x7F) // 127 85 #define I16_MIN ((I16)0x8000) // -32768 86 #define I16_MAX ((I16)0x7FFF) // 32767 88 #define I32_MIN ((I32)0x80000000) // -2147483648 89 #define I32_MAX ((I32)0x7FFFFFFF) // 2147483647 91 #define I64_MIN ((I64)0x8000000000000000) 92 #define I64_MAX ((I64)0x7FFFFFFFFFFFFFFF) 94 #define U8_FOLD(n) (((n) < U8_MIN) ? (n+U8_MAX_PLUS_ONE) : (((n) > U8_MAX) ? (n-U8_MAX_PLUS_ONE) : (n))) 96 #define I8_CLAMP(n) (((n) <= I8_MIN) ? I8_MIN : (((n) >= I8_MAX) ? I8_MAX : ((I8)(n)))) 97 #define U8_CLAMP(n) (((n) <= U8_MIN) ? U8_MIN : (((n) >= U8_MAX) ? U8_MAX : ((U8)(n)))) 99 #define I16_CLAMP(n) (((n) <= I16_MIN) ? I16_MIN : (((n) >= I16_MAX) ? I16_MAX : ((I16)(n)))) 100 #define U16_CLAMP(n) (((n) <= U16_MIN) ? U16_MIN : (((n) >= U16_MAX) ? U16_MAX : ((U16)(n)))) 102 #define I32_CLAMP(n) (((n) <= I32_MIN) ? I32_MIN : (((n) >= I32_MAX) ? I32_MAX : ((I32)(n)))) 103 #define U32_CLAMP(n) (((n) <= U32_MIN) ? U32_MIN : (((n) >= U32_MAX) ? U32_MAX : ((U32)(n)))) 105 #define I8_QUANTIZE(n) (((n) >= 0) ? (I8)((n)+0.5f) : (I8)((n)-0.5f)) 106 #define U8_QUANTIZE(n) (((n) >= 0) ? (U8)((n)+0.5f) : (U8)(0)) 108 #define I16_QUANTIZE(n) (((n) >= 0) ? (I16)((n)+0.5f) : (I16)((n)-0.5f)) 109 #define U16_QUANTIZE(n) (((n) >= 0) ? (U16)((n)+0.5f) : (U16)(0)) 111 #define I32_QUANTIZE(n) (((n) >= 0) ? (I32)((n)+0.5f) : (I32)((n)-0.5f)) 112 #define U32_QUANTIZE(n) (((n) >= 0) ? (U32)((n)+0.5f) : (U32)(0)) 114 #define I64_QUANTIZE(n) (((n) >= 0) ? (I64)((n)+0.5f) : (I64)((n)-0.5f)) 115 #define U64_QUANTIZE(n) (((n) >= 0) ? (U64)((n)+0.5f) : (U64)(0)) 117 #define I16_FLOOR(n) ((((I16)(n)) > (n)) ? (((I16)(n))-1) : ((I16)(n))) 118 #define I32_FLOOR(n) ((((I32)(n)) > (n)) ? (((I32)(n))-1) : ((I32)(n))) 119 #define I64_FLOOR(n) ((((I64)(n)) > (n)) ? (((I64)(n))-1) : ((I64)(n))) 121 #define I16_CEIL(n) ((((I16)(n)) < (n)) ? (((I16)(n))+1) : ((I16)(n))) 122 #define I32_CEIL(n) ((((I32)(n)) < (n)) ? (((I32)(n))+1) : ((I32)(n))) 123 #define I64_CEIL(n) ((((I64)(n)) < (n)) ? (((I64)(n))+1) : ((I64)(n))) 125 #define I8_FITS_IN_RANGE(n) (((n) >= I8_MIN) || ((n) <= I8_MAX) ? TRUE : FALSE) 126 #define U8_FITS_IN_RANGE(n) (((n) >= U8_MIN) || ((n) <= U8_MAX) ? TRUE : FALSE) 127 #define I16_FITS_IN_RANGE(n) (((n) >= I16_MIN) || ((n) <= I16_MAX) ? TRUE : FALSE) 128 #define U16_FITS_IN_RANGE(n) (((n) >= U16_MIN) || ((n) <= U16_MAX) ? TRUE : FALSE) 130 #define U32_ZERO_BIT_0(n) (((n)&(U32)0xFFFFFFFE)) 147 return (*((
U8*)&i) == 1);
150 #define ENDIANSWAP16(n) \ 151 ( ((((U16) n) << 8) & 0xFF00) | \ 152 ((((U16) n) >> 8) & 0x00FF) ) 154 #define ENDIANSWAP32(n) \ 155 ( ((((U32) n) << 24) & 0xFF000000) | \ 156 ((((U32) n) << 8) & 0x00FF0000) | \ 157 ((((U32) n) >> 8) & 0x0000FF00) | \ 158 ((((U32) n) >> 24) & 0x000000FF) )
union U64I64F64 U64I64F64
void ENDIAN_SWAP_32(U8 *field)
union U32I32F32 U32I32F32
void ENDIAN_SWAP_16(U8 *field)
void ENDIAN_SWAP_64(U8 *field)