FX16_SHIFT |
Defines the shift number (12) for fx16 types. |
FX16_INT_SIZE |
Defines the bit width of the integer portion (3) for fx16 types. |
FX16_DEC_SIZE |
Defines the bit width for the decimal portion (12) for fx16 types. |
FX16_INT_MASK |
Defines the mask (0x7000) for the integer portion of fx16 types. |
FX16_DEC_MASK |
Defines the mask (0x0fff) for the decimal portion of fx16 types. |
FX16_SIGN_MASK |
Defines the mask (0x8000) for the sign portion of fx16 types. |
FX16_MAX |
Defines the maximum value (0x7fff) that can be obtained with fx16 types. |
FX16_MIN |
Defines the minimum value (0x8000) that can be obtained with fx16 types. |
FX_FX16_TO_F32 |
Converts an fx16 type to an f32 type. |
FX_F32_TO_FX16 FX16_CONST |
Converts an f32 type to an fx16 type. |
#define FX16_SHIFT 12
#define FX16_INT_SIZE 3
#define FX16_DEC_SIZE 12
#define FX16_INT_MASK 0x7000
#define FX16_DEC_MASK 0x0fff
#define FX16_SIGN_MASK 0x8000
#define FX16_MAX (fx16)(0x7fff)
#define FX16_MIN (fx16)(0x8000)
#define FX_FX16_TO_F32(x) ((f32)((x) / (f32)(1 << FX16_SHIFT)))
#define FX_F32_TO_FX16(x) ((fx16)(((x) > 0) ?
(fx16)((x) * (1 << FX16_SHIFT) + 0.5f ) :
(fx16)((x) * (1 << FX16_SHIFT) - 0.5f )))
#define FX16_CONST(x) FX_F32_TO_FX16(x)
02/25/2004 Initial Version