diff --git a/glm/core/func_common.inl b/glm/core/func_common.inl index c0023ed5..8ab0aadc 100644 --- a/glm/core/func_common.inl +++ b/glm/core/func_common.inl @@ -1077,7 +1077,9 @@ namespace detail std::numeric_limits::is_iec559, "'frexp' only accept floating-point inputs"); - return std::frexp(x, exp); + return detail::tvec2( + frexp(x.x, exp.x), + frexp(x.y, exp.y)); } template @@ -1091,7 +1093,10 @@ namespace detail std::numeric_limits::is_iec559, "'frexp' only accept floating-point inputs"); - return std::frexp(x, exp); + return detail::tvec3( + frexp(x.x, exp.x), + frexp(x.y, exp.y), + frexp(x.z, exp.z)); } template @@ -1105,7 +1110,11 @@ namespace detail std::numeric_limits::is_iec559, "'frexp' only accept floating-point inputs"); - return std::frexp(x, exp); + return detail::tvec4( + frexp(x.x, exp.x), + frexp(x.y, exp.y), + frexp(x.z, exp.z), + frexp(x.w, exp.w)); } template @@ -1133,7 +1142,9 @@ namespace detail std::numeric_limits::is_iec559, "'ldexp' only accept floating-point inputs"); - return std::ldexp(x, exp); + return detail::tvec2( + ldexp(x.x, exp.x), + ldexp(x.y, exp.y)); } template @@ -1147,7 +1158,10 @@ namespace detail std::numeric_limits::is_iec559, "'ldexp' only accept floating-point inputs"); - return std::ldexp(x, exp); + return detail::tvec3( + ldexp(x.x, exp.x), + ldexp(x.y, exp.y), + ldexp(x.z, exp.z)); } template @@ -1161,7 +1175,11 @@ namespace detail std::numeric_limits::is_iec559, "'ldexp' only accept floating-point inputs"); - return std::ldexp(x, exp); + return detail::tvec4( + ldexp(x.x, exp.x), + ldexp(x.y, exp.y), + ldexp(x.z, exp.z), + ldexp(x.w, exp.w)); } }//namespace glm diff --git a/readme.txt b/readme.txt index dd017276..09a86a15 100644 --- a/readme.txt +++ b/readme.txt @@ -59,11 +59,12 @@ GLM 0.9.5.0: 2013-XX-XX - Optimized packing and unpacking functions - Removed the normalization of the up argument of lookAt function (#114) - Added low precision specializations of inversesqrt -- Fixed ldexp implementation +- Fixed ldexp and frexp implementations - Increased assert coverage - Increased static_assert coverage - Replaced GLM traits by STL traits when possible - Allowed including individual core feature +- Increased unit tests completness ================================================================================ GLM 0.9.4.6: 2013-09-15