Subversion Repositories Kolibri OS

Rev

Rev 6433 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */
  2. /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */
  3. /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
  4. #ifndef _MATH_H
  5. #define _MATH_H
  6.  
  7. //extern int stdcall integer(float number);
  8.  
  9. extern double   acos(double _x);
  10. extern double   asin(double _x);
  11. extern double   atan(double _x);
  12. extern double   atan2(double _y, double _x);
  13. extern double   ceil(double _x);
  14. extern double   cos(double _x);
  15. extern double   cosh(double _x);
  16. extern double   exp(double _x);
  17. extern double   fabs(double _x);
  18. extern double   floor(double _x);
  19. extern double   fmod(double _x, double _y);
  20. extern double   frexp(double _x, int *_pexp);
  21. extern double   ldexp(double _x, int _exp);
  22. extern double   log(double _y);
  23. extern double   log10(double _x);
  24. extern double   modf(double _x, double *_pint);
  25. extern double   pow(double _x, double _y);
  26. extern double   sin(double _x);
  27. extern double   sinh(double _x);
  28. extern double   sqrt(double _x);
  29. extern double   tan(double _x);
  30. extern double   tanh(double _x);
  31.  
  32. //#ifndef __STRICT_ANSI__
  33.  
  34. //#ifndef _POSIX_SOURCE
  35.  
  36. #define M_E             2.7182818284590452354
  37. #define M_LOG2E         1.4426950408889634074
  38. #define M_LOG10E        0.43429448190325182765
  39. #define M_LN2           0.69314718055994530942
  40. #define M_LN10          2.30258509299404568402
  41. #define M_PI            3.14159265358979323846
  42. #define M_PI_2          1.57079632679489661923
  43. #define M_PI_4          0.78539816339744830962
  44. #define M_1_PI          0.31830988618379067154
  45. #define M_2_PI          0.63661977236758134308
  46. #define M_2_SQRTPI      1.12837916709551257390
  47. #define M_SQRT2         1.41421356237309504880
  48. #define M_SQRT1_2       0.70710678118654752440
  49. #define PI              M_PI
  50. #define PI2             M_PI_2
  51.  
  52. extern double   acosh(double);
  53. extern double   asinh(double);
  54. extern double   atanh(double);
  55. extern double   cbrt(double);
  56. extern double   exp10(double _x);
  57. extern double   exp2(double _x);
  58. extern double   expm1(double);
  59. extern double   hypot(double, double);
  60. extern double   log1p(double);
  61. extern double   log2(double _x);
  62. extern long double modfl(long double _x, long double *_pint);
  63. extern double   pow10(double _x);
  64. extern double   pow2(double _x);
  65. extern double   powi(double, int);
  66. extern void     sincos(double *, double *, double);
  67.  
  68. /* These are in libm.a (Cygnus).  You must link -lm to get these */
  69. /* See libm/math.h for comments */
  70. /*
  71. #ifndef __cplusplus
  72. struct exception {
  73.         int type;
  74.         const char *name;
  75.         double arg1;
  76.         double arg2;
  77.         double retval;
  78.         int err;
  79. };
  80. #endif
  81. */
  82.  
  83. extern double erf(double);
  84. extern double erfc(double);
  85. extern double gamma(double);
  86. extern int isinf(double);
  87. extern int isnan(double);
  88. extern int finite(double);
  89. extern double j0(double);
  90. extern double j1(double);
  91. extern double jn(int, double);
  92. extern double lgamma(double);
  93. extern double nan(void);
  94. extern double y0(double);
  95. extern double y1(double);
  96. extern double yn(int, double);
  97. extern double logb(double);
  98. extern double nextafter(double, double);
  99. extern double remainder(double, double);
  100. extern double scalb(double, double);
  101. //#ifndef __cplusplus
  102. //extern int matherr(struct exception *);
  103. //#endif
  104. extern double significand(double);
  105. extern double copysign(double, double);
  106. extern int ilogb(double);
  107. extern double rint(double);
  108. extern double scalbn(double, int);
  109. extern double drem(double, double);
  110. extern double gamma_r(double, int *);
  111. extern double lgamma_r(double, int *);
  112. extern float acosf(float);
  113. extern float asinf(float);
  114. extern float atanf(float);
  115. extern float atan2f(float, float);
  116. extern float cosf(float);
  117. extern float sinf(float);
  118. extern float tanf(float);
  119. extern float coshf(float);
  120. extern float sinhf(float);
  121. extern float tanhf(float);
  122. extern float expf(float);
  123. extern float frexpf(float, int *);
  124. extern float ldexpf(float, int);
  125. extern float logf(float);
  126. extern float log10f(float);
  127. extern float modff(float, float *);
  128. extern float powf(float, float);
  129. extern float sqrtf(float);
  130. extern float ceilf(float);
  131. extern float fabsf(float);
  132. extern float floorf(float);
  133. extern float fmodf(float, float);
  134. extern float erff(float);
  135. extern float erfcf(float);
  136. extern float gammaf(float);
  137. extern float hypotf(float, float);
  138. extern int isinff(float);
  139. extern int isnanf(float);
  140. extern int finitef(float);
  141. extern float j0f(float);
  142. extern float j1f(float);
  143. extern float jnf(int, float);
  144. extern float lgammaf(float);
  145. extern float nanf(void);
  146. extern float y0f(float);
  147. extern float y1f(float);
  148. extern float ynf(int, float);
  149. extern float acoshf(float);
  150. extern float asinhf(float);
  151. extern float atanhf(float);
  152. extern float cbrtf(float);
  153. extern float logbf(float);
  154. extern float nextafterf(float, float);
  155. extern float remainderf(float, float);
  156. extern float scalbf(float, float);
  157. extern float significandf(float);
  158. extern float copysignf(float, float);
  159. extern int ilogbf(float);
  160. extern float rintf(float);
  161. extern float scalbnf(float, int);
  162. extern float dremf(float, float);
  163. extern float expm1f(float);
  164. extern float log1pf(float);
  165. extern float gammaf_r(float, int *);
  166. extern float lgammaf_r(float, int *);
  167.  
  168. double round  (double x);
  169. long double roundl  (long double x);
  170.  
  171. #ifndef NAN
  172. # define NAN    (__nan__)
  173. #endif
  174.  
  175. #ifndef INFINITY
  176. # define INFINITY       (__inf__)
  177. #endif
  178.  
  179.  
  180. //#endif /* !_POSIX_SOURCE */
  181. //#endif /* !__STRICT_ANSI__ */
  182. //#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
  183.  
  184. //#ifndef __dj_ENFORCE_FUNCTION_CALLS
  185. //#endif /* !__dj_ENFORCE_FUNCTION_CALLS */
  186.  
  187. //#ifdef __cplusplus
  188. //}
  189. //#endif
  190.  
  191. //#endif /* _USE_LIBM_MATH_H */
  192.  
  193. //#endif /* !__dj_include_math_h_ */
  194. #endif