1/// @ref core 2/// @file glm/detail/func_exponential_simd.inl 3 4#include "../simd/exponential.h" 5 6#if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 8namespace glm{ 9namespace detail 10{ 11 template <precision P> 12 struct compute_sqrt<tvec4, float, P, true> 13 { 14 GLM_FUNC_QUALIFIER static tvec4<float, P> call(tvec4<float, P> const & v) 15 { 16 tvec4<float, P> result(uninitialize); 17 result.data = _mm_sqrt_ps(v.data); 18 return result; 19 } 20 }; 21 22 template <> 23 struct compute_sqrt<tvec4, float, aligned_lowp, true> 24 { 25 GLM_FUNC_QUALIFIER static tvec4<float, aligned_lowp> call(tvec4<float, aligned_lowp> const & v) 26 { 27 tvec4<float, aligned_lowp> result(uninitialize); 28 result.data = glm_vec4_sqrt_lowp(v.data); 29 return result; 30 } 31 }; 32}//namespace detail 33}//namespace glm 34 35#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 36