mirror of
https://github.com/g-truc/glm.git
synced 2024-11-22 08:54:35 +00:00
Improved performace.
This commit is contained in:
parent
96b1c72bfc
commit
e48b2a72c8
@ -97,16 +97,22 @@ namespace glm
|
||||
GLM_FUNC_QUALIFIER bool isOrthogonal(mat<C, R, T, Q> const& m, T const& epsilon)
|
||||
{
|
||||
bool result = true;
|
||||
for(length_t i(0); result && i < m.length() - 1; ++i)
|
||||
for(length_t j(i + 1); result && j < m.length(); ++j)
|
||||
result = areOrthonormal(m[i], m[j], epsilon);
|
||||
for(length_t i(0); result && i < m.length(); ++i)
|
||||
{
|
||||
result = isNormalized(m[i], epsilon);
|
||||
for(length_t j(i + 1); result && j < m.length(); ++j)
|
||||
result = abs(dot(m[i], m[j])) <= epsilon;
|
||||
}
|
||||
|
||||
if(result)
|
||||
{
|
||||
mat<C, R, T, Q> tmp = transpose(m);
|
||||
for(length_t i(0); result && i < m.length() - 1 ; ++i)
|
||||
for(length_t j(i + 1); result && j < m.length(); ++j)
|
||||
result = areOrthonormal(tmp[i], tmp[j], epsilon);
|
||||
for(length_t i(0); result && i < m.length(); ++i)
|
||||
{
|
||||
result = isNormalized(tmp[i], epsilon);
|
||||
for(length_t j(i + 1); result && j < m.length(); ++j)
|
||||
result = abs(dot(tmp[i], tmp[j])) <= epsilon;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user