#ifndef _MATH_H #define _MATH_H #ifndef _COMPILER_H #include #endif __EXTERN double atof __PROTO((const char *)); __EXTERN double acosh __PROTO((double)); __EXTERN double asinh __PROTO((double)); __EXTERN double atanh __PROTO((double)); __EXTERN double acos __PROTO((double)); __EXTERN double asin __PROTO((double)); __EXTERN double atan __PROTO((double)); __EXTERN double atan2 __PROTO((double, double)); __EXTERN double ceil __PROTO((double)); __EXTERN double cos __PROTO((double)); __EXTERN double cosh __PROTO((double)); __EXTERN double exp __PROTO((double)); __EXTERN double fabs __PROTO((double)); __EXTERN double floor __PROTO((double)); __EXTERN double fmod __PROTO((double, double)); __EXTERN double frexp __PROTO((double, int *)); __EXTERN double ldexp __PROTO((double, int)); __EXTERN double log __PROTO((double)); __EXTERN double log10 __PROTO((double)); __EXTERN double modf __PROTO((double, double *)); __EXTERN double pow __PROTO((double, double)); __EXTERN double sin __PROTO((double)); __EXTERN double sinh __PROTO((double)); __EXTERN double sqrt __PROTO((double)); __EXTERN double tan __PROTO((double)); __EXTERN double tanh __PROTO((double)); #ifndef __STRICT_ANSI__ __EXTERN int finite __PROTO((double)); __EXTERN double cbrt __PROTO((double)); __EXTERN double copysign __PROTO((double, double)); __EXTERN double drem __PROTO((double, double)); __EXTERN double logb __PROTO((double)); __EXTERN double scalb __PROTO((double, int)); __EXTERN double rint __PROTO((double)); __EXTERN double expm1 __PROTO((double)); __EXTERN double log1p __PROTO((double)); __EXTERN double hypot __PROTO((double, double)); __EXTERN double cabs(); #endif extern const double _infinitydf; /* in normdf.cpp */ #define HUGE_VAL _infinitydf /* other compilers?? */ #ifndef __STRICT_ANSI__ #define HUGE HUGE_VAL #endif /* other stuff */ #ifdef _M68881 #include #endif #ifndef __STRICT_ANSI__ #if __GNUC__ #ifndef max #define max(x,y) ({typeof(x) _x=(x); typeof(y) _y=(y); if (_x>_y) _y=_x; _y;}) #define min(x,y) ({typeof(x) _x=(x); typeof(y) _y=(y); if (_x<_y) _y=_x; _y;}) #endif #else /* these forms evaluate their args twice.. tough. */ #ifndef max #define max(x,y) ((x) > (y) ? (x) : (y)) #define min(x,y) ((x) < (y) ? (x) : (y)) #endif #endif #endif /* __STRICT_ANSI__ */ #endif /* _MATH_H