Fixed isOrthogonal, return false for zero matrix

This commit is contained in:
tetrisplusplus 2023-01-23 21:27:02 +09:00 committed by Christophe
parent aa4d729e48
commit 477ba69343

View File

@ -99,14 +99,14 @@ namespace glm
bool result = true; bool result = true;
for(length_t i(0); result && i < m.length() - 1; ++i) for(length_t i(0); result && i < m.length() - 1; ++i)
for(length_t j(i + 1); result && j < m.length(); ++j) for(length_t j(i + 1); result && j < m.length(); ++j)
result = areOrthogonal(m[i], m[j], epsilon); result = areOrthonormal(m[i], m[j], epsilon);
if(result) if(result)
{ {
mat<C, R, T, Q> tmp = transpose(m); mat<C, R, T, Q> tmp = transpose(m);
for(length_t i(0); result && i < m.length() - 1 ; ++i) for(length_t i(0); result && i < m.length() - 1 ; ++i)
for(length_t j(i + 1); result && j < m.length(); ++j) for(length_t j(i + 1); result && j < m.length(); ++j)
result = areOrthogonal(tmp[i], tmp[j], epsilon); result = areOrthonormal(tmp[i], tmp[j], epsilon);
} }
return result; return result;
} }