| /*------------------------------------------------------------------------- |
| * |
| * rint.c |
| * rint() implementation |
| * |
| * Copyright (c) 1999, repas AEG Automation GmbH |
| * |
| * |
| * IDENTIFICATION |
| * $PostgreSQL: pgsql/src/port/rint.c,v 1.2 2003/11/29 19:52:13 pgsql Exp $ |
| * |
| *------------------------------------------------------------------------- |
| */ |
| |
| #include "c.h" |
| #include <math.h> |
| |
| double |
| rint(double x) |
| { |
| double f, |
| n = 0.; |
| |
| f = modf(x, &n); |
| |
| if (x > 0.) |
| { |
| if (f > .5) |
| n += 1.; |
| } |
| else if (x < 0.) |
| { |
| if (f < -.5) |
| n -= 1.; |
| } |
| return n; |
| } |