/// @ref core | |
/// @file glm/detail/func_exponential_simd.inl | |
#include "../simd/exponential.h" | |
#if GLM_ARCH & GLM_ARCH_SSE2_BIT | |
namespace glm{ | |
namespace detail | |
{ | |
template <precision P> | |
struct compute_sqrt<tvec4, float, P, true> | |
{ | |
GLM_FUNC_QUALIFIER static tvec4<float, P> call(tvec4<float, P> const & v) | |
{ | |
tvec4<float, P> result(uninitialize); | |
result.data = _mm_sqrt_ps(v.data); | |
return result; | |
} | |
}; | |
template <> | |
struct compute_sqrt<tvec4, float, aligned_lowp, true> | |
{ | |
GLM_FUNC_QUALIFIER static tvec4<float, aligned_lowp> call(tvec4<float, aligned_lowp> const & v) | |
{ | |
tvec4<float, aligned_lowp> result(uninitialize); | |
result.data = glm_vec4_sqrt_lowp(v.data); | |
return result; | |
} | |
}; | |
}//namespace detail | |
}//namespace glm | |
#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT |