P8000/WEGA/contrib/lcc/lib/libm/floor.c

29 lines
508 B
C

/* ~(#)floor.c 2.1 */
/* ~(#)floor.c 1.6 */
/*LINTLIBRARY*/
/*
* floor(x) returns the largest integer (as a double-precision number)
* not greater than x.
* ceil(x) returns the smallest integer not less than x.
*/
extern double modf();
double
floor(x)
double x;
{
double y; /* can't be in register because of modf() below */
return (modf(x, &y) < 0 ? y - 1 : y);
}
double
ceil(x)
double x;
{
double y; /* can't be in register because of modf() below */
return (modf(x, &y) > 0 ? y + 1 : y);
}