home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / CodeWarrior Lite / Metrowerks C⁄C++ Lite / Libraries / MacOS 68K / MathLib68K / MathLib68K Sources / FixMath_glue.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-21  |  995 b   |  67 lines  |  [TEXT/MMCC]

  1. /*
  2.  *    FixMath.h Glue Functions ...
  3.  */
  4.  
  5. #if __MC68881__
  6.  
  7. #ifndef __FIXMATH__
  8. #include <FixMath.h>
  9. #endif
  10.  
  11. #ifndef __SANE__
  12. #include <SANE.h>
  13. #endif
  14.  
  15. #ifndef __TRAPS__
  16. #include <Traps.h>
  17. #endif
  18.  
  19. /*
  20.  *    SANE 10byte doubles code ...
  21.  */
  22.  
  23. static pascal extended80 __Frac2X(Fract x) = {_Frac2X};
  24. static pascal extended80 __Fix2X(Fixed x) = {_Fix2X};
  25. static pascal Fixed __X2Fix(extended80 x) = {_X2Fix};
  26. static pascal Fract __X2Frac(extended80 x) = {_X2Frac};
  27.  
  28. /*
  29.  *    SANE 10byte doubles code ...
  30.  */
  31.  
  32. pascal double_t Frac2X(Fract x)
  33. {
  34.     extended96 xtd96;
  35.     extended80 xtd80 = __Frac2X(x);
  36.  
  37.     x80tox96(&xtd80, &xtd96);
  38.     return xtd96;
  39. }
  40.  
  41. pascal double_t Fix2X(Fixed x)
  42. {
  43.     extended96 xtd96;
  44.     extended80 xtd80 = __Fix2X(x);
  45.     
  46.     x80tox96(&xtd80, &xtd96);
  47.     return xtd96;
  48. }
  49.  
  50. pascal Fixed X2Fix(double_t xtd96)
  51. {
  52.     extended80 xtd80;
  53.     
  54.     x96tox80(&xtd96, &xtd80);
  55.     return (__X2Fix(xtd80));
  56. }
  57.  
  58. pascal Fract X2Frac(double_t xtd96)
  59. {
  60.     extended80 xtd80;
  61.     
  62.     x96tox80(&xtd96, &xtd80);
  63.     return (__X2Frac(xtd80));
  64. }
  65.  
  66. #endif
  67.