1*37da2899SCharles.Forsyth /* 2*37da2899SCharles.Forsyth * floating point control and status register masks 3*37da2899SCharles.Forsyth */ 4*37da2899SCharles.Forsyth enum 5*37da2899SCharles.Forsyth { 6*37da2899SCharles.Forsyth INVAL = 0x0001, 7*37da2899SCharles.Forsyth ZDIV = 0x0002, 8*37da2899SCharles.Forsyth OVFL = 0x0004, 9*37da2899SCharles.Forsyth UNFL = 0x0008, 10*37da2899SCharles.Forsyth INEX = 0x0010, 11*37da2899SCharles.Forsyth RND_NR = 0x0000, 12*37da2899SCharles.Forsyth RND_NINF = 0x0100, 13*37da2899SCharles.Forsyth RND_PINF = 0x0200, 14*37da2899SCharles.Forsyth RND_Z = 0x0300, 15*37da2899SCharles.Forsyth RND_MASK = 0x0300 16*37da2899SCharles.Forsyth }; 17*37da2899SCharles.Forsyth 18*37da2899SCharles.Forsyth extern double ipow10(int); 19*37da2899SCharles.Forsyth extern void FPinit(void); 20*37da2899SCharles.Forsyth extern double dot(int, double*, double*); 21*37da2899SCharles.Forsyth extern ulong FPcontrol(ulong, ulong); 22*37da2899SCharles.Forsyth extern ulong FPstatus(ulong, ulong); 23*37da2899SCharles.Forsyth extern void gemm(int, int, int, int, int, double, 24*37da2899SCharles.Forsyth double*, int, double*, int, double, double*, int); 25*37da2899SCharles.Forsyth extern ulong getFPstatus(void); 26*37da2899SCharles.Forsyth extern ulong getFPcontrol(void); 27*37da2899SCharles.Forsyth extern char* g_fmt(char *, double, int); 28*37da2899SCharles.Forsyth extern int iamax(int, double*); 29*37da2899SCharles.Forsyth extern double fdim(double, double); 30*37da2899SCharles.Forsyth extern double fmax(double, double); 31*37da2899SCharles.Forsyth extern double fmin(double, double); 32*37da2899SCharles.Forsyth extern double norm2(int, double*); 33*37da2899SCharles.Forsyth extern double norm1(int, double*); 34*37da2899SCharles.Forsyth extern double strtod(const char *, char **); 35*37da2899SCharles.Forsyth 36*37da2899SCharles.Forsyth /* fdlibm */ 37*37da2899SCharles.Forsyth extern double __ieee754_acos(double); 38*37da2899SCharles.Forsyth extern double __ieee754_acosh(double); 39*37da2899SCharles.Forsyth extern double __ieee754_asin(double); 40*37da2899SCharles.Forsyth extern double asinh(double); 41*37da2899SCharles.Forsyth extern double atan(double); 42*37da2899SCharles.Forsyth extern double __ieee754_atan2(double, double); 43*37da2899SCharles.Forsyth extern double __ieee754_atanh(double); 44*37da2899SCharles.Forsyth extern double cbrt(double); 45*37da2899SCharles.Forsyth extern double ceil(double); 46*37da2899SCharles.Forsyth extern double copysign(double, double); 47*37da2899SCharles.Forsyth extern double cos(double); 48*37da2899SCharles.Forsyth extern double __ieee754_cosh(double); 49*37da2899SCharles.Forsyth extern double erf(double); 50*37da2899SCharles.Forsyth extern double erfc(double); 51*37da2899SCharles.Forsyth extern double __ieee754_exp(double); 52*37da2899SCharles.Forsyth extern double expm1(double); 53*37da2899SCharles.Forsyth extern double fabs(double); 54*37da2899SCharles.Forsyth extern int finite(double); 55*37da2899SCharles.Forsyth extern double floor(double); 56*37da2899SCharles.Forsyth extern double __ieee754_fmod(double, double); 57*37da2899SCharles.Forsyth extern double __ieee754_hypot(double, double); 58*37da2899SCharles.Forsyth extern int ilogb(double); 59*37da2899SCharles.Forsyth extern double __ieee754_j0(double); 60*37da2899SCharles.Forsyth extern double __ieee754_j1(double); 61*37da2899SCharles.Forsyth extern double __ieee754_jn(int, double); 62*37da2899SCharles.Forsyth extern double __ieee754_lgamma_r(double,int*); 63*37da2899SCharles.Forsyth extern double __ieee754_log(double); 64*37da2899SCharles.Forsyth extern double __ieee754_log10(double); 65*37da2899SCharles.Forsyth extern double log1p(double); 66*37da2899SCharles.Forsyth extern double logb(double); 67*37da2899SCharles.Forsyth extern double modf(double, double *); 68*37da2899SCharles.Forsyth extern double nextafter(double, double); 69*37da2899SCharles.Forsyth extern double __ieee754_pow(double, double); 70*37da2899SCharles.Forsyth extern double __ieee754_remainder(double, double); 71*37da2899SCharles.Forsyth extern double rint(double); 72*37da2899SCharles.Forsyth extern double scalbn(double, int); 73*37da2899SCharles.Forsyth extern double sin(double); 74*37da2899SCharles.Forsyth extern double __ieee754_sinh(double); 75*37da2899SCharles.Forsyth extern double __ieee754_sqrt(double); 76*37da2899SCharles.Forsyth extern double tan(double); 77*37da2899SCharles.Forsyth extern double tanh(double); 78*37da2899SCharles.Forsyth extern double __ieee754_y0(double); 79*37da2899SCharles.Forsyth extern double __ieee754_y1(double); 80*37da2899SCharles.Forsyth extern double __ieee754_yn(int, double); 81