home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * $VER: math.h 1.0 (17.4.93)
- *
- * (c)Copyright 1992 Obvious Implementations Corp, All Rights Reserved
- */
-
- #ifndef MATH_H
- #define MATH_H
-
- #ifndef ERRNO_H
- #define EDOM 1 /* repeated in errno.h */
- #define ERANGE 2 /* repeated in errno.h */
- #endif
- #define HUGE_VAL 1.0e300
-
- /*
- * Math Constants
- */
-
- #define M_E 2.7182818284590452354
- #define M_LOG2E 1.4426950408889634074
- #define M_LOG10E 0.43429448190325182765
- #define M_LN2 0.69314718055994530942
- #define M_LN10 2.30258509299404568402
- #define M_PI 3.14159265358979323846
- #define M_PI_2 1.57079632679489661923
- #define M_PI_4 0.78539816339744830962
- #define M_1_PI 0.31830988618379067154
- #define M_2_PI 0.63661977236758134308
- #define M_2_SQRTPI 1.12837916709551257390
- #define M_SQRT2 1.41421356237309504880
- #define M_SQRT1_2 0.70710678118654752440
-
- /* FLOAT MATH ROUTINES */
- #ifdef _FFP_FLOAT
- #define fexp _ffpexp
- #define ffrexp _ffpfrexp
- #define fldexp _ffpldexp
- #define flog _ffplog
- #define flog10 _ffplog10
- #define fmodf _ffpmodf
- #define fcosh _ffpcosh
- #define fsinh _ffpsinh
- #define ftanh _ffptanh
- #define fceil _ffpceil
- #define ffabs _ffpabs
- #define ffloor _ffpfloor
- #define ffmod _ffpmod
- #define fpow _ffppow
- #define fsqrt _ffpsqrt
- #define facos _ffpacos
- #define fasin _ffpasin
- #define fatan _ffpatan
- #define fatan2 _ffpatan2
- #define fcos _ffpcos
- #define fsin _ffpsin
- #define ftan _ffptan
- #endif
-
- #ifdef _SP_FLOAT
- #define fexp _spexp
- #define ffrexp _spfrexp
- #define fldexp _spldexp
- #define flog _splog
- #define flog10 _splog10
- #define fmodf _spmodf
- #define fcosh _spcosh
- #define fsinh _spsinh
- #define ftanh _sptanh
- #define fceil _spceil
- #define ffabs _spabs
- #define ffloor _spfloor
- #define ffmod _spmod
- #define fpow _sppow
- #define fsqrt _spsqrt
- #define facos _spacos
- #define fasin _spasin
- #define fatan _spatan
- #define fatan2 _spatan2
- #define fcos _spcos
- #define fsin _spsin
- #define ftan _sptan
- #endif
-
- extern float fexp(float);
- extern float ffrexp(float, int *);
- extern float fldexp(float, int);
- extern float flog(float);
- extern float flog10(float);
- extern float fmodf(float, float *);
-
- extern float fcosh(float);
- extern float fsinh(float);
- extern float ftanh(float);
-
- extern float fceil(float);
- extern float ffabs(float);
- extern float ffloor(float);
- extern float ffmod(float, float);
-
- extern float fpow(float, float);
- extern float fsqrt(float);
-
- extern float facos(float);
- extern float fasin(float);
- extern float fatan(float);
- extern float fatan2(float, float);
- extern float fcos(float);
- extern float fsin(float);
- extern float ftan(float);
-
- /* DOUBLE MATH ROUTINES (STANDARD) */
-
- extern double exp(double);
- extern double frexp(double, int *);
- extern double ldexp(double, int);
- extern double log(double);
- extern double log10(double);
- extern double modf(double, double *);
-
- extern double cosh(double);
- extern double sinh(double);
- extern double tanh(double);
-
- extern double ceil(double);
- extern double fabs(double);
- extern double floor(double);
- extern double fmod(double, double);
-
- extern double pow(double, double);
- extern double sqrt(double);
-
- extern double acos(double);
- extern double asin(double);
- extern double atan(double);
- extern double atan2(double, double);
- extern double cos(double);
- extern double sin(double);
- extern double tan(double);
-
- #ifndef STDLIB_H
- extern double atof(const char *);
- extern double strtod(const char *, char **);
- #endif
-
-
- /* LONG DOUBLE MATH ROUTINES */
-
- extern long double lexp(long double);
- extern long double lfrexp(long double, int *);
- extern long double lldexp(long double, int);
- extern long double llog(long double);
- extern long double llog10(long double);
- extern long double lmodf(long double, long double *);
-
- extern long double lcosh(long double);
- extern long double lsinh(long double);
- extern long double ltanh(long double);
-
- extern long double lceil(long double);
- extern long double lfabs(long double);
- extern long double lfloor(long double);
- extern long double lfmod(long double, long double);
-
- extern long double lpow(long double, long double);
- extern long double lsqrt(long double);
-
- extern long double lacos(long double);
- extern long double lasin(long double);
- extern long double latan(long double);
- extern long double latan2(long double, long double);
- extern long double lcos(long double);
- extern long double lsin(long double);
- extern long double ltan(long double);
-
- #endif
-
-