12 #ifndef TEUKOLSKYDEFS_H_SEEN 13 #define TEUKOLSKYDEFS_H_SEEN 17 #include "complex_ops.h" 34 #define REAL_MANT_DIG FLT_MANT_DIG 35 #if DBL_MANT_DIG > FLT_MANT_DIG 36 typedef double LongReal;
37 #define LREAL_MANT_DIG DBL_MANT_DIG 39 typedef long double LongReal;
40 #define LREAL_MANT_DIG LDBL_MANT_DIG 44 #define REAL_EPSILON FLT_EPSILON 45 #define PREC_FUNCSUFFIX f 49 #define REAL_MANT_DIG DBL_MANT_DIG 50 typedef long double LongReal;
51 #define LREAL_MANT_DIG LDBL_MANT_DIG 54 #define REAL_EPSILON DBL_EPSILON 55 #define PREC_FUNCSUFFIX 58 typedef long double Real;
59 #define REAL_MANT_DIG LDBL_MANT_DIG 60 typedef long double LongReal;
61 #define LREAL_MANT_DIG LDBL_MANT_DIG 64 #define REAL_EPSILON LDBL_EPSILON 65 #define PREC_FUNCSUFFIX l 68 #error "Bad REAL_TYPE" 71 typedef std::complex<Real> Complex;
72 typedef std::complex<LongReal> LongComplex;
73 #define I (Complex(0,1)) 76 #define MAKE_PRECFUNC(func) FUNC_CONCAT(func,PREC_FUNCSUFFIX) 77 #define FUNC_CONCAT(a,b) FUNC_CONCAT_INNER(a,b) 78 #define FUNC_CONCAT_INNER(a,b) a ## b 80 #define Fmax MAKE_PRECFUNC(fmax) 81 #define Fmin MAKE_PRECFUNC(fmin) 82 #define Fabs MAKE_PRECFUNC(fabs) 83 #define Sqrt MAKE_PRECFUNC(sqrt) 86 #define CNAN Complex(NAN,NAN) 88 #define Cisnan(x) (isnan(real(x)) || isnan(imag(x))) 89 #define Cmaxpart(x) (Fmax(Fabs(real(x)),Fabs(imag(x)))) Definition: complex_ops.h:15