ref: e04634b7b1322e431ebe7207784dd252a1a2ba86
dir: /amr-wb/typedefs.h/
/* * * File : typedefs.h * Description : Definition of platform independent data * types and constants * * * The following platform independent data types and corresponding * preprocessor (#define) constants are defined: * * defined type meaning corresponding constants * ---------------------------------------------------------- * Char character (none) * Bool boolean true, false * Word8 8-bit signed minWord8, maxWord8 * UWord8 8-bit unsigned minUWord8, maxUWord8 * Word16 16-bit signed minWord16, maxWord16 * UWord16 16-bit unsigned minUWord16, maxUWord16 * Word32 32-bit signed minWord32, maxWord32 * UWord32 32-bit unsigned minUWord32, maxUWord32 * Float floating point minFloat, maxFloat * ******************************************************************************** */ #ifndef typedefs_h #define typedefs_h "$Id $" /* ******************************************************************************** * INCLUDE FILES ******************************************************************************** */ #include <float.h> #include <limits.h> /* ******************************************************************************** * DEFINITION OF CONSTANTS ******************************************************************************** */ /* ********* define char type */ typedef char Char; /* ********* define 8 bit signed/unsigned types & constants */ #if SCHAR_MAX == 127 typedef signed char Word8; #define minWord8 SCHAR_MIN #define maxWord8 SCHAR_MAX typedef unsigned char UWord8; #define minUWord8 0 #define maxUWord8 UCHAR_MAX #else #error cannot find 8-bit type #endif /* ********* define 16 bit signed/unsigned types & constants */ #if INT_MAX == 32767 typedef int Word16; #define minWord16 INT_MIN #define maxWord16 INT_MAX typedef unsigned int UWord16; #define minUWord16 0 #define maxUWord16 UINT_MAX #elif SHRT_MAX == 32767 typedef short Word16; #define minWord16 SHRT_MIN #define maxWord16 SHRT_MAX typedef unsigned short UWord16; #define minUWord16 0 #define maxUWord16 USHRT_MAX #else #error cannot find 16-bit type #endif /* ********* define 32 bit signed/unsigned types & constants */ #if INT_MAX == 2147483647 typedef int Word32; #define minWord32 INT_MIN #define maxWord32 INT_MAX typedef unsigned int UWord32; #define minUWord32 0 #define maxUWord32 UINT_MAX #elif LONG_MAX == 2147483647 typedef long Word32; #define minWord32 LONG_MIN #define maxWord32 LONG_MAX typedef unsigned long UWord32; #define minUWord32 0 #define maxUWord32 ULONG_MAX #else #error cannot find 32-bit type #endif /* ********* define floating point type & constants */ /* use "#if 0" below if Float should be double; use "#if 1" below if Float should be float */ #if 0 typedef float Float; #define maxFloat FLT_MAX #define minFloat FLT_MIN #else typedef double Float; #define maxFloat DBL_MAX #define minFloat DBL_MIN #endif /* ********* define complex type */ typedef struct { Float r; /* real part */ Float i; /* imaginary part */ } CPX; /* ********* define boolean type */ typedef int Bool; #define false 0 #define true 1 #endif