\r
const s32 ROUNDING_ERROR_S32 = 0;\r
\r
-#ifdef __IRR_HAS_S64\r
const s64 ROUNDING_ERROR_S64 = 0;\r
-#endif\r
const f32 ROUNDING_ERROR_f32 = 0.000001f;\r
const f64 ROUNDING_ERROR_f64 = 0.00000001;\r
\r
return ROUNDING_ERROR_S32;\r
}\r
\r
-#ifdef __IRR_HAS_S64\r
template <>\r
inline s64 roundingError()\r
{\r
{\r
return ROUNDING_ERROR_S64;\r
}\r
-#endif\r
\r
template <class T>\r
inline T relativeErrorFactor()\r
return a <= tolerance;\r
}\r
\r
-#ifdef __IRR_HAS_S64\r
//! returns if a equals zero, taking rounding errors into account\r
inline bool iszero(const s64 a, const s64 tolerance = 0)\r
{\r
return abs_(a) <= tolerance;\r
}\r
-#endif\r
\r
inline s32 s32_min(s32 a, s32 b)\r
{\r
return static_cast<s32>(squareroot(static_cast<f32>(f)));\r
}\r
\r
-#ifdef __IRR_HAS_S64\r
// calculate: sqrt ( x )\r
REALINLINE s64 squareroot(const s64 f)\r
{\r
return static_cast<s64>(squareroot(static_cast<f64>(f)));\r
}\r
-#endif\r
\r
// calculate: 1 / sqrt ( x )\r
REALINLINE f64 reciprocal_squareroot(const f64 x)\r