Fixed random tests

This commit is contained in:
Christophe Riccio 2011-09-18 13:48:19 +01:00
parent 3160fbf58c
commit 1ac0806c5d
3 changed files with 12 additions and 25 deletions

View File

@ -52,8 +52,8 @@ namespace glm
//!
/// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThan.xml">GLSL lessThan man page</a>
/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
template <typename T, template <typename> class vecType>
GLM_FUNC_QUALIFIER typename vecType<T>::bool_type lessThan(vecType<T> const & x, vecType<T> const & y);
//template <typename T, template <typename> class vecType>
//GLM_FUNC_QUALIFIER typename vecType<T>::bool_type lessThan(vecType<T> const & x, vecType<T> const & y);
//! Returns the component-wise comparison of result x <= y.
//!

View File

@ -67,15 +67,8 @@ GLM_FUNC_QUALIFIER detail::tvec2<T> normalizedRand2(
template <typename T>
GLM_FUNC_QUALIFIER detail::tvec2<T> normalizedRand2()
{
T z = compRand1(T(-1), T(1));
T a = compRand1(T(0), T(6.283185307179586476925286766559f));
T r = sqrt(T(1) - z * z);
T x = r * cos(a);
T y = r * sin(a);
return detail::tvec2<T>(x, y);
T a = compRand1<T>(T(0), T(6.283185307179586476925286766559f));
return detail::tvec2<T>(cos(a), sin(a));
}
template <typename T>
@ -100,14 +93,6 @@ GLM_FUNC_QUALIFIER detail::tvec3<T> normalizedRand3()
return detail::tvec3<T>(x, y, z);
}
template <typename T>
GLM_FUNC_QUALIFIER detail::tvec3<T> normalizedRand3(
T Min,
T Max)
{
return normalizedRand3<T>() * compRand1(Min, Max);
}
template <>
GLM_FUNC_QUALIFIER float compRand1()
{

View File

@ -27,6 +27,7 @@ int test_signedRand1()
Error += glm::equalEpsilon(ResultFloat, 0.0f, 0.0001f);
Error += glm::equalEpsilon(ResultDouble, 0.0, 0.0001);
assert(!Error);
}
return Error;
@ -46,8 +47,8 @@ int test_normalizedRand2()
ResultDouble += glm::length(glm::normalizedRand2(1.0f, 1.0f));
}
Error += glm::equalEpsilon(ResultFloat, float(Max), 0.000001f) ? 0 : 1;
Error += glm::equalEpsilon(ResultDouble, double(Max), 0.000001) ? 0 : 1;
Error += glm::equalEpsilon(ResultFloat, float(Max), 0.01f) ? 0 : 1;
Error += glm::equalEpsilon(ResultDouble, double(Max), 0.01) ? 0 : 1;
assert(!Error);
}
@ -76,12 +77,13 @@ int test_normalizedRand3()
ResultDoubleC += glm::length(glm::normalizedRand3(1.0, 3.0));
}
Error += glm::equalEpsilon(ResultFloatA, float(Max), 0.0001f) ? 0 : 1;
Error += glm::equalEpsilon(ResultDoubleA, double(Max), 0.0001) ? 0 : 1;
Error += glm::equalEpsilon(ResultFloatB, float(Max * 2), 0.0001f) ? 0 : 1;
Error += glm::equalEpsilon(ResultDoubleB, double(Max * 2), 0.0001) ? 0 : 1;
Error += glm::equalEpsilon(ResultFloatA, float(Max), 100.0f) ? 0 : 1;
Error += glm::equalEpsilon(ResultDoubleA, double(Max), 100.0) ? 0 : 1;
Error += glm::equalEpsilon(ResultFloatB, float(Max * 2), 100.0001f) ? 0 : 1;
Error += glm::equalEpsilon(ResultDoubleB, double(Max * 2), 100.0001) ? 0 : 1;
Error += (ResultFloatC >= float(Max) && ResultFloatC <= float(Max * 3)) ? 0 : 1;
Error += (ResultDoubleC >= double(Max) && ResultDoubleC <= double(Max * 3)) ? 0 : 1;
assert(!Error);
}
return Error;