Fix round test

Depending on the developer environment, the output of round for o.5 or -0.5 may be different (according to the GLSL spec). So the test was too restrictive.
This commit is contained in:
olga 2023-01-13 14:08:46 +01:00
parent fc8f4bb442
commit 97e09aa304

View File

@ -639,7 +639,7 @@ namespace round_
float A = glm::round(0.0f);
Error += glm::equal(A, 0.0f, glm::epsilon<float>()) ? 0 : 1;
float B = glm::round(0.5f);
Error += glm::equal(B, 1.0f, glm::epsilon<float>()) ? 0 : 1;
Error += (glm::equal(B, 1.0f, glm::epsilon<float>()) || glm::equal(B, 0.0f, glm::epsilon<float>())) ? 0 : 1;
float C = glm::round(1.0f);
Error += glm::equal(C, 1.0f, glm::epsilon<float>()) ? 0 : 1;
float D = glm::round(0.1f);
@ -656,7 +656,7 @@ namespace round_
float A = glm::round(-0.0f);
Error += glm::equal(A, 0.0f, glm::epsilon<float>()) ? 0 : 1;
float B = glm::round(-0.5f);
Error += glm::equal(B, -1.0f, glm::epsilon<float>()) ? 0 : 1;
Error += (glm::equal(B, -1.0f, glm::epsilon<float>()) || glm::equal(B, 0.0f, glm::epsilon<float>())) ? 0 : 1;
float C = glm::round(-1.0f);
Error += glm::equal(C, -1.0f, glm::epsilon<float>()) ? 0 : 1;
float D = glm::round(-0.1f);