home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Headers / ansi / math.h < prev    next >
Text File  |  1996-12-17  |  3KB  |  84 lines

  1. /*    math.h    4.6    9/11/85    */
  2.  
  3. /* Copyright (c) 1988, 1992 NeXT Computer, Inc. */
  4.  
  5. #ifndef _ANSI_MATH_H
  6. #define _ANSI_MATH_H
  7.  
  8. #include <standards.h>
  9.  
  10. #ifdef __STRICT_BSD__
  11. extern int errno;
  12. #elif defined(_NEXT_SOURCE)
  13. #import <errno.h>
  14. #endif
  15.  
  16. #ifdef _NEXT_SOURCE
  17. /* Match definition in <sys/types.h>. */
  18. #define    EDOM        33        /* Argument outside function domain. */
  19. #define    ERANGE        34        /* Result unrepresentable as double. */
  20. #endif /* _NEXT_SOURCE */
  21.  
  22. #ifndef __STRICT_ANSI__
  23. extern double asinh(double x) __attribute__((const));
  24. extern double acosh(double x) __attribute__((const));
  25. extern double atanh(double x) __attribute__((const));
  26. extern double hypot(double x, double y) __attribute__((const));
  27. extern double cabs();    /* `cabs' can't be prototyped reasonably. */
  28. extern double cbrt(double x) __attribute__((const));
  29. extern double expm1(double x) __attribute__((const));
  30. extern double log1p(double x) __attribute__((const));
  31. extern double lgamma(double x) __attribute__((const));
  32. extern double rint(double x);
  33.  
  34. /* Error functions. */
  35. extern double erf(double x) __attribute__((const));
  36. extern double erfc(double x) __attribute__((const));
  37.  
  38. /* Bessel functions. */
  39. extern double j0(double x) __attribute__((const));
  40. extern double j1(double x) __attribute__((const));
  41. extern double jn(int n, double x) __attribute__((const));
  42. extern double y0(double x) __attribute__((const));
  43. extern double y1(double x) __attribute__((const));
  44. extern double yn(int n, double x) __attribute__((const));
  45.  
  46. /* IEEE 754 support. */
  47. extern double copysign(double x, double y);
  48. extern double drem(double x, double y);
  49. extern int finite(double x);
  50. extern double logb(double x);
  51. extern double scalb(double x, int n);
  52. #endif    /* !__STRICT_ANSI__ */
  53.  
  54. #if defined(__STRICT_ANSI__) || defined(_NEXT_SOURCE)
  55. extern double acos(double x) __attribute__((const));
  56. extern double asin(double x) __attribute__((const));
  57. extern double atan(double x) __attribute__((const));
  58. extern double atan2(double y, double x) __attribute__((const));
  59. extern double cos(double x) __attribute__((const));
  60. extern double sin(double x) __attribute__((const));
  61. extern double tan(double x) __attribute__((const));
  62. extern double cosh(double x) __attribute__((const));
  63. extern double sinh(double x) __attribute__((const));
  64. extern double tanh(double x) __attribute__((const));
  65. extern double exp(double x) __attribute__((const));
  66. extern double frexp(double value, int *exp);
  67. extern double ldexp(double x, int exp) __attribute__((const));
  68. extern double log(double x) __attribute__((const));
  69. extern double log10(double x) __attribute__((const));
  70. extern double modf(double value, double *iptr);
  71. extern double pow(double x, double y) __attribute__((const));
  72. extern double sqrt(double x) __attribute__((const));
  73. extern double ceil(double x) __attribute__((const));
  74. extern double fabs(double x) __attribute__((const));
  75. extern double floor(double x) __attribute__((const));
  76. extern double fmod(double x, double y) __attribute__((const));
  77. #endif /* __STRICT_ANSI__ || _NEXT_SOURCE */
  78.  
  79. /* Import architecture specific math definitions. */
  80.  
  81. #include <ansi/machine/math.h>
  82.  
  83. #endif /* _ANSI_MATH_H */
  84.