Rewrite rint() to enable removal of copyright mention; patch from
authorBruce Momjian <bruce@momjian.us>
Fri, 5 Feb 2010 03:20:56 +0000 (03:20 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 5 Feb 2010 03:20:56 +0000 (03:20 +0000)
Nathan Wagner

Function is simpler too.

src/port/rint.c

index 860c7b1617cf46a44c22b140eae357dc71889f22..ff5aab087a0f31628ba22d1d485494adda820b6e 100644 (file)
@@ -3,11 +3,8 @@
  * 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 $
+ *   $PostgreSQL: pgsql/src/port/rint.c,v 1.3 2010/02/05 03:20:56 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 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;
+   return (x > 0.0) ? floor(x + 0.5) : ceil(x - 0.5);
 }