18#include "../common.hpp"
19#include "../exponential.hpp"
20#include "../geometric.hpp"
22#ifndef GLM_ENABLE_EXPERIMENTAL
23# error "GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
24#elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
25# pragma message("GLM: GLM_GTX_fast_square_root extension included")
36 template<
typename genType>
42 template<length_t L,
typename T, qualifier Q>
43 GLM_FUNC_DECL vec<L, T, Q>
fastSqrt(vec<L, T, Q>
const& x);
48 template<
typename genType>
54 template<length_t L,
typename T, qualifier Q>
60 template<
typename genType>
66 template<length_t L,
typename T, qualifier Q>
72 template<
typename genType>
78 template<length_t L,
typename T, qualifier Q>
79 GLM_FUNC_DECL T
fastDistance(vec<L, T, Q>
const& x, vec<L, T, Q>
const& y);
84 template<
typename genType>
90 template<length_t L,
typename T, qualifier Q>
96#include "fast_square_root.inl"
GLM_FUNC_DECL genType fastInverseSqrt(genType x)
Faster than the common inversesqrt function but less accurate.
GLM_FUNC_DECL genType fastNormalize(genType x)
Faster than the common normalize function but less accurate.
GLM_FUNC_DECL genType fastSqrt(genType x)
Faster than the common sqrt function but less accurate.
GLM_FUNC_DECL genType fastDistance(genType x, genType y)
Faster than the common distance function but less accurate.
GLM_FUNC_DECL genType fastLength(genType x)
Faster than the common length function but less accurate.