00001
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00032
00033 #ifndef GROOVX_RUTZ_COMPAT_CMATH_H_UTC20060117021640_DEFINED
00034 #define GROOVX_RUTZ_COMPAT_CMATH_H_UTC20060117021640_DEFINED
00035
00036 #include <cmath>
00037
00038 namespace rutz
00039 {
00040 double compat_m_pi();
00041 double compat_m_pi_2();
00042 double compat_m_e();
00043 double compat_m_ln2();
00044 }
00045
00046
00047 #ifdef MISSING_M_PI
00048 #define M_PI (rutz::compat_m_pi())
00049 #endif
00050
00051 #ifdef MISSING_M_PI_2
00052 #define M_PI_2 (rutz::compat_m_pi_2())
00053 #endif
00054
00055 #ifdef MISSING_M_E
00056 #define M_E (rutz::compat_m_e())
00057 #endif
00058
00059 #ifdef MISSING_M_LN2
00060 #define M_LN2 (rutz::compat_m_ln2())
00061 #endif
00062
00063 #ifdef MISSING_CBRT
00064 #define cbrt(x) (pow(x, 1.0/3.0))
00065 #endif
00066
00067 #ifdef MISSING_ISNAN
00068 # if defined(HAVE_STD_ISNAN)
00069 template <class T> inline
00070 int isnan(T x) { return std::isnan(x); }
00071 # endif
00072 #endif
00073
00074 static const char __attribute__((used)) vcid_groovx_rutz_compat_cmath_h_utc20060117021640[] = "$Id: compat_cmath.h 10065 2007-04-12 05:54:56Z rjpeters $ $HeadURL: file:
00075 #endif // !GROOVX_RUTZ_COMPAT_CMATH_H_UTC20060117021640DEFINED