mathi.h 2.4 KB

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