qd_config.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /* include/qd/qd_config.h. Generated from qd_config.h.in by configure. */
  2. #ifndef _QD_QD_CONFIG_H
  3. #define _QD_QD_CONFIG_H 1
  4. #ifndef QD_API
  5. #define QD_API /**/
  6. #endif
  7. /* Set to 1 if using VisualAge C++ compiler for __fmadd builtin. */
  8. #ifndef QD_VACPP_BUILTINS_H
  9. /* #undef QD_VACPP_BUILTINS_H */
  10. #endif
  11. /* If fused multiply-add is available, define to correct macro for
  12. using it. It is invoked as QD_FMA(a, b, c) to compute fl(a * b + c).
  13. If correctly rounded multiply-add is not available (or if unsure),
  14. keep it undefined.*/
  15. #ifndef QD_FMA
  16. /* #undef QD_FMA */
  17. #endif
  18. /* If fused multiply-subtract is available, define to correct macro for
  19. using it. It is invoked as QD_FMS(a, b, c) to compute fl(a * b - c).
  20. If correctly rounded multiply-add is not available (or if unsure),
  21. keep it undefined.*/
  22. #ifndef QD_FMS
  23. /* #undef QD_FMS */
  24. #endif
  25. /* Set the following to 1 to define commonly used function
  26. to be inlined. This should be set to 1 unless the compiler
  27. does not support the "inline" keyword, or if building for
  28. debugging purposes. */
  29. #ifndef QD_INLINE
  30. #define QD_INLINE 1
  31. #endif
  32. /* Set the following to 1 to use ANSI C++ standard header files
  33. such as cmath, iostream, etc. If set to zero, it will try to
  34. include math.h, iostream.h, etc, instead. */
  35. #ifndef QD_HAVE_STD
  36. #define QD_HAVE_STD 1
  37. #endif
  38. /* Set the following to 1 to make the addition and subtraction
  39. to satisfy the IEEE-style error bound
  40. fl(a + b) = (1 + d) * (a + b)
  41. where |d| <= eps. If set to 0, the addition and subtraction
  42. will satisfy the weaker Cray-style error bound
  43. fl(a + b) = (1 + d1) * a + (1 + d2) * b
  44. where |d1| <= eps and |d2| eps. */
  45. #ifndef QD_IEEE_ADD
  46. /* #undef QD_IEEE_ADD */
  47. #endif
  48. /* Set the following to 1 to use slightly inaccurate but faster
  49. version of multiplication. */
  50. #ifndef QD_SLOPPY_MUL
  51. #define QD_SLOPPY_MUL 1
  52. #endif
  53. /* Set the following to 1 to use slightly inaccurate but faster
  54. version of division. */
  55. #ifndef QD_SLOPPY_DIV
  56. #define QD_SLOPPY_DIV 1
  57. #endif
  58. /* Define this macro to be the isfinite(x) function. */
  59. #ifndef QD_ISFINITE
  60. #define QD_ISFINITE(x) std::isfinite(x)
  61. #endif
  62. /* Define this macro to be the isinf(x) function. */
  63. #ifndef QD_ISINF
  64. #define QD_ISINF(x) std::isinf(x)
  65. #endif
  66. /* Define this macro to be the isnan(x) function. */
  67. #ifndef QD_ISNAN
  68. #define QD_ISNAN(x) std::isnan(x)
  69. #endif
  70. #endif /* _QD_QD_CONFIG_H */