// TRFMath.cpp #include "TRFMath.h" using std::fmod; using std::asin; namespace trf { double PI = 3.141592653589793; double TWOPI = 2.0*PI; double PI2 = 0.5*PI; double CLIGHT = 2.99792458e10; double BFAC = 1.0e-13 * CLIGHT; // Fix 30jan98 to add fabs(range) instead of range. // Previous gave bizzare behavior for negative ranges. // Now sign of range has no effect. double fmod1( double value, double range ) { double tmp = fmod(value,range); if ( tmp < 0.0 ) return tmp + fabs(range); return tmp; } //********************************************************************** // asinrat = asin(x)/x double asinrat(double x) { double small = 1.e-3; if ( fabs(x) < small ) { double x2 = x*x; return 1.0 + 1.0/6.0*x2 + 3./40.*x2*x2; } else { return asin(x)/x; } } //********************************************************************** } // end namespace trf