61 #ifndef HIGH_PRECISION
62 #define HIGH_PRECISION 1
75 #define DBL_MIN std::numeric_limits<double>::min() // 2.2250738585072014e-308
79 #define DBL_DIG std::numeric_limits<double>::digits10 // 15
83 #define DBL_MAX std::numeric_limits<double>::max() // 1.7976931348623157e+308
87 #define DBL_EPSILON std::numeric_limits<double>::epsilon()
88 #endif // 2.2204460492503131e-16
91 #define FLT_MIN std::numeric_limits<float>::min() // 1.17549435e-38F
95 #define FLT_DIG std::numeric_limits<float>::digits10 // 6
99 #define FLT_MAX std::numeric_limits<float>::max() // 3.40282347e+38F
103 #define FLT_EPSILON std::numeric_limits<float>::epsilon()
104 #endif // 1.192092896e-07F
107 #define MAXFLOAT std::numeric_limits<float>::max() // 3.40282347e+38F
111 #define INT_MAX std::numeric_limits<int>::max() // 2147483647
115 #define INT_MIN std::numeric_limits<int>::min() // -2147483648
138 #ifndef G4_SQR_DEFINED
139 #define G4_SQR_DEFINED
151 #ifdef G4_ABS_DEFINED
157 inline T std::abs(
const T&
a)
159 return a < 0 ? -a :
a;
165 return (ad>0) ?
static_cast<int>(ad+.5) :
static_cast<int>(ad-.5);
170 return (ad>0) ?
static_cast<int>(ad) : static_cast<int>(ad-1.);
175 return (ad>0) ?
static_cast<int>(ad+1) : static_cast<int>(ad);
178 #endif // templates_h
void G4SwapObj(T *a, T *b)
void G4SwapPtr(T *&a, T *&b)