Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:31:07

0001 /* include/qd/qd_config.h.  Generated from qd_config.h.in by configure.  */
0002 #ifndef _QD_QD_CONFIG_H
0003 #define _QD_QD_CONFIG_H  1
0004 
0005 #ifndef QD_API
0006 #define QD_API /**/
0007 #endif
0008 
0009 /* Set to 1 if using VisualAge C++ compiler for __fmadd builtin. */
0010 #ifndef QD_VACPP_BUILTINS_H
0011 /* #undef QD_VACPP_BUILTINS_H */
0012 #endif
0013 
0014 /* If fused multiply-add is available, define to correct macro for
0015    using it.  It is invoked as QD_FMA(a, b, c) to compute fl(a * b + c). 
0016    If correctly rounded multiply-add is not available (or if unsure), 
0017    keep it undefined.*/
0018 #ifndef QD_FMA
0019 /* #undef QD_FMA */
0020 #endif
0021 
0022 /* If fused multiply-subtract is available, define to correct macro for
0023    using it.  It is invoked as QD_FMS(a, b, c) to compute fl(a * b - c). 
0024    If correctly rounded multiply-add is not available (or if unsure), 
0025    keep it undefined.*/
0026 #ifndef QD_FMS
0027 /* #undef QD_FMS */
0028 #endif
0029 
0030 /* Set the following to 1 to define commonly used function
0031    to be inlined.  This should be set to 1 unless the compiler 
0032    does not support the "inline" keyword, or if building for 
0033    debugging purposes. */
0034 #ifndef QD_INLINE
0035 #define QD_INLINE 1
0036 #endif
0037 
0038 /* Set the following to 1 to use ANSI C++ standard header files
0039    such as cmath, iostream, etc.  If set to zero, it will try to 
0040    include math.h, iostream.h, etc, instead. */
0041 #ifndef QD_HAVE_STD
0042 #define QD_HAVE_STD 1
0043 #endif
0044 
0045 /* Set the following to 1 to make the addition and subtraction
0046    to satisfy the IEEE-style error bound 
0047 
0048       fl(a + b) = (1 + d) * (a + b)
0049 
0050    where |d| <= eps.  If set to 0, the addition and subtraction
0051    will satisfy the weaker Cray-style error bound
0052 
0053       fl(a + b) = (1 + d1) * a + (1 + d2) * b
0054 
0055    where |d1| <= eps and |d2| eps.           */
0056 #ifndef QD_IEEE_ADD
0057 /* #undef QD_IEEE_ADD */
0058 #endif
0059 
0060 /* Set the following to 1 to use slightly inaccurate but faster
0061    version of multiplication. */
0062 #ifndef QD_SLOPPY_MUL
0063 #define QD_SLOPPY_MUL 1
0064 #endif
0065 
0066 /* Set the following to 1 to use slightly inaccurate but faster
0067    version of division. */
0068 #ifndef QD_SLOPPY_DIV
0069 #define QD_SLOPPY_DIV 1
0070 #endif
0071 
0072 /* Define this macro to be the isfinite(x) function. */
0073 #ifndef QD_ISFINITE
0074 #define QD_ISFINITE(x) std::isfinite(x)
0075 #endif
0076 
0077 /* Define this macro to be the isinf(x) function. */
0078 #ifndef QD_ISINF
0079 #define QD_ISINF(x) std::isinf(x)
0080 #endif
0081 
0082 /* Define this macro to be the isnan(x) function. */
0083 #ifndef QD_ISNAN
0084 #define QD_ISNAN(x) std::isnan(x)
0085 #endif
0086 
0087 
0088 #endif /* _QD_QD_CONFIG_H */