1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-10 09:07:35 +00:00

LibM: Fix floor() and floorf() for negative numbers

And add a LibJS test to exercise the code. :^)
This commit is contained in:
Andreas Kling 2020-05-15 22:05:59 +02:00
parent 8f293b7543
commit de7827faf7
2 changed files with 27 additions and 2 deletions

View file

@ -412,12 +412,18 @@ float roundf(float value)
float floorf(float value)
{
return (int)value;
if (value >= 0)
return (int)value;
int intvalue = (int)value;
return ((float)intvalue == value) ? intvalue : intvalue - 1;
}
double floor(double value)
{
return (int)value;
if (value >= 0)
return (int)value;
int intvalue = (int)value;
return ((double)intvalue == value) ? intvalue : intvalue - 1;
}
double rint(double value)