Implementing fcompMin / fcompMax, closes g-truc/glm#1215

This commit is contained in:
Maximilian Sackel
2024-01-25 11:17:00 +01:00
committed by Christophe
parent 7b53739128
commit c9ca4dc77c
3 changed files with 88 additions and 0 deletions

View File

@@ -105,12 +105,71 @@ namespace compScale
}
}// compScale
namespace fcompMax
{
static int run()
{
int Error(0);
{
float const A = glm::fcompMax(glm::vec4(NAN, 0.2f, 0.5f, 1.0f));
Error += A == 1.0f ? 0 : 1;
}
{
float const A = glm::fcompMax(glm::vec4(2.0f, NAN, 0.3f, 0.7f));
Error += A == 2.0f ? 0 : 1;
}
{
float const A = glm::fcompMax(glm::vec4(NAN, NAN, NAN, NAN));
Error += std::isnan(A) ? 0 : 1;
}
return Error;
}
}// fcompMax
namespace fcompMin
{
static int run()
{
int Error(0);
{
float const A = glm::fcompMin(glm::vec4(NAN, 0.2f, 0.5f, 1.0f));
Error += A == 0.2f ? 0 : 1;
}
{
float const A = glm::fcompMin(glm::vec4(2.0f, NAN, 0.3f, 0.7f));
Error += A == 0.3f ? 0 : 1;
}
{
float const A = glm::fcompMin(glm::vec4(NAN, NAN, NAN, NAN));
Error += std::isnan(A) ? 0 : 1;
}
return Error;
}
}// fcompMin
int main()
{
int Error(0);
Error += compNormalize::run();
Error += compScale::run();
Error += fcompMax::run();
Error += fcompMin::run();
return Error;
}