diff --git a/glm/detail/type_mat2x2.inl b/glm/detail/type_mat2x2.inl index 7919a251..feed336a 100644 --- a/glm/detail/type_mat2x2.inl +++ b/glm/detail/type_mat2x2.inl @@ -398,13 +398,15 @@ namespace detail { GLM_FUNC_QUALIFIER static detail::tmat2x2 call(detail::tmat2x2 const & m) { - T Determinant = determinant(m); + T OneOverDeterminant = static_cast<>(1) / ( + + m[0][0] * m[1][1] + - m[1][0] * m[0][1]); detail::tmat2x2 Inverse( - + m[1][1] / Determinant, - - m[0][1] / Determinant, - - m[1][0] / Determinant, - + m[0][0] / Determinant); + + m[1][1] * OneOverDeterminant, + - m[0][1] * OneOverDeterminant, + - m[1][0] * OneOverDeterminant, + + m[0][0] * OneOverDeterminant); return Inverse; }