58 inline double inv (
double x) {
return 1./
x;}
86 inline float invf (
float x) {
return 1.f/
x;}
double fast_isqrt_general(double x, const uint32_t ISQRT_ITERATIONS)
Sqrt implmentation from Quake3.
double inv(double x)
For comparisons.
float fast_invf(float x)
Two iterations.
uint64_t getSignMask(const double x)
float fast_isqrtf_general(float x, const uint32_t ISQRT_ITERATIONS)
Sqrt implmentation from Quake3.
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
float fast_invf_general(float x, const uint32_t isqrt_iterations)
General implementation of the inversion.
float fast_approx_invf(float x)
One iterations.
double fast_inv(double x)
Four iterations inversion.
float spORuint32(const float x, const uint32_t i)
Makes an OR of a float and a unsigned long.
double dpORuint64(const double x, const uint64_t i)
Makes an OR of a double and a unsigned long long.
double fast_approx_inv(double x)
Three iterations.
double fast_inv_general(double x, const uint32_t isqrt_iterations)
General implementation of the inversion.
float invf(float x)
For comparisons.