Fixed Point Macros

Miscellaneous Forums/General Discussion/Fixed Point Macros

I'm porting something in C from floats to fixed point. Can anyone tell me if I have the macros correct?

Thanks.



#define FPINT int
#define FP_ADD(A, B) ((A) + (B))
#define FP_SUB(A, B) ((A) - (B))
#define FP_MUL(A, B) ((A) * (B) >> 8)
#define FP_DIV(A, B) ((A) / (B) << 8)
#define FP_INT_TO_FIXED(A) ((A) << 8)
#define FP_FIXED_TO_INT(A) ((A) >> 8)
#define FP_FIXED_TO_FLOAT(A) ((float)(A) / 65536.0)
#define FP_FLOAT_TO_FIXED(A) ((FPINT)((A) * 65536.0))