#sccs "@(#)inchead:math.h 1.2" /* Convergent Technologies - System V - May 1983 */ /* MC68881 Support received from AT&TIS, W. King on 3/86 sCcSid: 1.2 */ extern int errno, signgam; extern double atof(), frexp(), ldexp(), modf(); extern double j0(), j1(), jn(), y0(), y1(), yn(); extern double erf(), erfc(); extern double exp(), log(), log10(), pow(), sqrt(); extern double floor(), ceil(), fmod(), fabs(); extern double gamma(); extern double hypot(); extern int matherr(); extern double sinh(), cosh(), tanh(); extern double sin(), cos(), tan(), asin(), acos(), atan(), atan2(); extern double dbadd__(), dbsub__(), dbdiv__(), dbmul__(); #include #define HUGE MAXFLOAT #define _ABS(x) ((x) < 0 ? -(x) : (x)) #define _REDUCE(TYPE, X, XN, C1, C2) { \ double x1 = (double)(TYPE)X, x2 = X - x1; \ X = x1 - (XN) * (C1); X += x2; X -= (XN) * (C2); } #define _POLY1(x, c) ((c)[0] * (x) + (c)[1]) #define _POLY2(x, c) (_POLY1((x), (c)) * (x) + (c)[2]) #define _POLY3(x, c) (_POLY2((x), (c)) * (x) + (c)[3]) #define _POLY4(x, c) (_POLY3((x), (c)) * (x) + (c)[4]) #define _POLY5(x, c) (_POLY4((x), (c)) * (x) + (c)[5]) #define _POLY6(x, c) (_POLY5((x), (c)) * (x) + (c)[6]) #define _POLY7(x, c) (_POLY6((x), (c)) * (x) + (c)[7]) #define _POLY8(x, c) (_POLY7((x), (c)) * (x) + (c)[8]) #define _POLY9(x, c) (_POLY8((x), (c)) * (x) + (c)[9]) struct exception { int type; char *name; double arg1; double arg2; double retval; }; #define DOMAIN 01 #define SING 02 #define OVERFLOW 03 #define UNDERFLOW 04 #define TLOSS 05 #define PLOSS 06 #define FPAERR 07 #define FPADEAD 08