fix: isIdentity for non-symmetric matrices

This commit is contained in:
Gottfried Leibniz 2020-12-06 11:26:14 -04:00
parent 24a4befe80
commit 00c4720305

View File

@ -33,13 +33,13 @@ namespace glm
GLM_FUNC_QUALIFIER bool isIdentity(mat<C, R, T, Q> const& m, T const& epsilon)
{
bool result = true;
for(length_t i = 0; result && i < m[0].length() ; ++i)
for(length_t i = 0; result && i < m.length(); ++i)
{
for(length_t j = 0; result && j < i ; ++j)
for(length_t j = 0; result && j < glm::min(i, m[0].length()); ++j)
result = abs(m[i][j]) <= epsilon;
if(result)
if(result && i < m[0].length())
result = abs(m[i][i] - 1) <= epsilon;
for(length_t j = i + 1; result && j < m.length(); ++j)
for(length_t j = i + 1; result && j < m[0].length(); ++j)
result = abs(m[i][j]) <= epsilon;
}
return result;