mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-04 11:46:53 +02:00
38 lines
565 B
C
38 lines
565 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* 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;
|
|
}
|