typedef long fixed;			// Our new fixed point type.

#define itofx(x) ((x) << 8)			// Integer to fixed point
#define ftofx(x) ((x) * 256)			// Float to fixed point
#define dtofx(x) ((x) * 256)			// Double to fixed point
#define fxtoi(x) ((x) >> 8)			// Fixed point to integer
#define fxtof(x) ((float) (x) / 256)		// Fixed point to float
#define fxtod(x) ((double)(x) / 256)	        // Fixed point to double
#define Mulfx(x,y) (((y) * (x)) >> 8)		// Multiply a fixed by a fixed
#define Divfx(x,y) ((y << 8) / (x))    		// Divide a fixed by a fixed
#define Printfx(x) printf("%ld.%ld", x >> 8, 100 * (unsigned long) ((x) & 0x00ff) >> 8)
// Print fixed point.
#define NDPrintfx(x) printf("%ld", x >> 8)
// Print fixed point without a decimal point.

