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 / ANSImath_glue(double).c next >
Encoding:
C/C++ Source or Header  |  1994-11-29  |  3.4 KB  |  180 lines  |  [TEXT/MMCC]

  1. /*
  2.  *    math.h glue functions (double precision math) ...
  3.  */
  4.  
  5. #ifndef __FP__
  6. #include <fp.h>
  7. #endif
  8.  
  9. /*
  10.  *    We can't include both fp.h and math.h since their definitions of cos, etc... conflict
  11.  */
  12.  
  13. #ifdef cplusplus
  14. extern "C" {
  15. #endif
  16. double cosd(double);
  17. double sind(double);
  18. double tand(double);
  19. double acosd(double);
  20. double asind(double);
  21. double atand(double);
  22. double atan2d(double, double);
  23. double coshd(double);
  24. double sinhd(double);
  25. double tanhd(double);
  26. double expd(double);
  27. double frexpd(double, int *);
  28. double ldexpd(double, int);
  29. double logd(double);
  30. double log10d(double);
  31. double modfd(double, double *);
  32. double fabsd(double);
  33. double powd(double, double);
  34. double sqrtd(double);
  35. double ceild(double);
  36. double floord(double);
  37. double fmodd(double, double);
  38. #ifdef cplusplus
  39. }
  40. #endif
  41.  
  42. /*******************************************************************************
  43. *                            Trigonometric functions                           *
  44. *******************************************************************************/
  45.  
  46. /* double definitions */
  47. double cosd(double x)
  48. {
  49.     return((cos)(x));
  50. }
  51.  
  52. double sind(double x)
  53. {
  54.     return((sin)(x));
  55. }
  56.  
  57. double tand(double x)
  58. {
  59.     return((tan)(x));
  60. }
  61.  
  62. double acosd(double x)
  63. {
  64.     return((acos)(x));
  65. }
  66.  
  67. double asind(double x)
  68. {
  69.     return((asin)(x));
  70. }
  71.  
  72. double atand(double x)
  73. {
  74.     return((atan)(x));
  75. }
  76.  
  77. double atan2d(double x, double y)
  78. {
  79.     return((atan2)(x,y));
  80. }
  81.  
  82. /*******************************************************************************
  83. *                              Hyperbolic functions                            *
  84. *******************************************************************************/
  85.  
  86. double coshd(double x)
  87. {
  88.     return((cosh)(x));
  89. }
  90.  
  91. double sinhd(double x)
  92. {
  93.     return((sinh)(x));
  94. }
  95.  
  96. double tanhd(double x)
  97. {
  98.     return((tanh)(x));
  99. }
  100.  
  101. /*******************************************************************************
  102. *                              Exponential functions                           *
  103. *******************************************************************************/
  104.  
  105. double expd(double x)
  106. {
  107.     return((exp)(x));
  108. }
  109.  
  110. double frexpd(double x, int *exponent)
  111. {
  112.     return((frexp)(x,exponent));
  113. }
  114.  
  115. double ldexpd(double x, int n)
  116. {
  117.     return((ldexp)(x,n));
  118. }
  119.  
  120. double logd(double x)
  121. {
  122.     return((log)(x));
  123. }
  124.  
  125. double log10d(double x)
  126. {
  127.     return((log10)(x));
  128. }
  129.  
  130. double modfd(double x, double *iptr)
  131. {
  132.     double_t result, iptr_dt=*iptr;
  133.  
  134.     result = (modf)(x,&iptr_dt);
  135.     *iptr=iptr_dt;
  136.     return(result);
  137. }
  138.  
  139. /*******************************************************************************
  140. *                     Power and absolute value functions                       *
  141. *******************************************************************************/
  142.  
  143. double fabsd(double x)
  144. {
  145.     return((fabs)(x));
  146. }
  147.  
  148. double powd(double x, double y)
  149. {
  150.     return((pow)(x,y));
  151. }
  152.  
  153. double sqrtd(double x)
  154. {
  155.     return((sqrt)(x));
  156. }
  157.  
  158. /*******************************************************************************
  159. *                        Nearest integer functions                             *
  160. *******************************************************************************/
  161.  
  162. double ceild(double x)
  163. {
  164.     return((ceil)(x));
  165. }
  166.  
  167. double floord(double x)
  168. {
  169.     return((floor)(x));
  170. }
  171.  
  172. /*******************************************************************************
  173. *                            Remainder functions                               *
  174. *******************************************************************************/
  175.  
  176. double fmodd(double x, double y)
  177. {
  178.     return((fmod)(x,y));
  179. }
  180.