ref: d9b9e15d6bbdae625b3613bb0a704d269cc83098
dir: /sys/src/libc/port/floor.c/
#include <u.h> #include <libc.h> /* * floor and ceil-- greatest integer <= arg * (resp least >=) */ double floor(double d) { double fract; if(d < 0) { fract = modf(-d, &d); if(fract != 0.0) d += 1; d = -d; } else modf(d, &d); return d; } double ceil(double d) { return -floor(-d); }