1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:48:11 +00:00

LibM: Implement fmin/fmax

This commit is contained in:
Mițca Dumitru 2021-03-15 17:27:13 +02:00 committed by Andreas Kling
parent 987cc904c2
commit 01a49dda85
3 changed files with 81 additions and 0 deletions

View file

@ -1364,4 +1364,64 @@ long double scalblnl(long double x, long exponent) NOEXCEPT
{
return internal_scalbn(x, exponent);
}
long double fmaxl(long double x, long double y) NOEXCEPT
{
if (isnan(x))
return y;
if (isnan(y))
return x;
return x > y ? x : y;
}
double fmax(double x, double y) NOEXCEPT
{
if (isnan(x))
return y;
if (isnan(y))
return x;
return x > y ? x : y;
}
float fmaxf(float x, float y) NOEXCEPT
{
if (isnan(x))
return y;
if (isnan(y))
return x;
return x > y ? x : y;
}
long double fminl(long double x, long double y) NOEXCEPT
{
if (isnan(x))
return y;
if (isnan(y))
return x;
return x < y ? x : y;
}
double fmin(double x, double y) NOEXCEPT
{
if (isnan(x))
return y;
if (isnan(y))
return x;
return x < y ? x : y;
}
float fminf(float x, float y) NOEXCEPT
{
if (isnan(x))
return y;
if (isnan(y))
return x;
return x < y ? x : y;
}
}