13 #define FIXED_ONE (1<<16)
17 #if (_MSC_VER <= 1500)
18 #define inline __inline
22 #if defined (AJAMac) | defined (AJAVirtual)
33 #if !defined (FixedTrunc)
35 #define FixedTrunc(__x__) ((__x__)>>16)
37 #define FixedRound(__x__) (((__x__) < 0) ? (-((-(__x__)+0x8000)>>16)) : (((__x__) + 0x8000)>>16))
38 #define FixedMix(__min__,__max__,__mixer__) (FixedRound(((__max__)-(__min__))*(__mixer__)+(__min__)))
39 #define FloatToFixed(__x__) ((Fixed_)((__x__) * (float)FIXED_ONE))
40 #define FixedToFloat(__x__) (((float)(__x__) / (float) 65536.0))
41 #define FixedFrac(__x__) (((__x__) < 0) ? (-(__x__) & 0xFFFF)) : ((__x__) & 0xFFFF)
56 return((
float)inFix/(
float)65536.0);
58 #endif // if __KERNEL__ undefined
66 retValue = (
Word)(-((-inFix+0x8000)>>16));
70 retValue = (
Word)((inFix + 0x8000)>>16);
81 retValue = -inFix&0xFFFF;
85 retValue = inFix&0xFFFF;
98 Fixed_ result = (max-min)*mixer+min;
102 #endif // else not AJAMac
104 #endif // NTV2FIXED_H