home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 5 / MA_Cover_5.iso / ppc / qmapwos / src / s.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-05-24  |  937 b   |  34 lines

  1. #ifndef INC_S_H
  2. #define INC_S_H
  3.  
  4. typedef unsigned char uchar;
  5. typedef unsigned int uint;
  6. typedef unsigned long ulong;
  7. typedef unsigned short fixang;
  8. typedef unsigned short ushort;
  9. typedef int bool;
  10. typedef unsigned char uint8;
  11. typedef unsigned short uint16;
  12. typedef long int32;
  13.  
  14. #define FALSE 0
  15. #define TRUE  1
  16.  
  17. // convert from 64-bit IEEE little-endian to 32-bit int, faster
  18. // than built-in Intel ops, but doesn't obey rounding rule and
  19. // doesn't deal well with overflow
  20.  
  21. extern double chop_temp;
  22. //#define FLOAT_TO_INT(x)  ((chop_temp = (x) + BIG_NUM), ((int*)(&chop_temp))[1])
  23. //#define FLOAT_TO_FIX(x)  ((chop_temp = (x) + BIG_NUM/65536.0), ((int*)(&chop_temp))[1])
  24.  
  25. #define FLOAT_TO_INT(x) ((int)(x))
  26. #define FLOAT_TO_FIX(x) ((int)((x)*65536.0))
  27.  
  28. #define BIG_NUM     ((float) (1 << 26) * (1 << 26) * 1.5)
  29.  
  30. extern void fatal_error(char *message, char *file, int line);
  31. #define fatal(s)   fatal_error(s, __FILE__, __LINE__)
  32.  
  33. #endif
  34.