/* 
 * rint() test program
 *
 * Compile on gcc using:
 *   gcc -o test test.c -lm
 */

#include <math.h>
#include <stdio.h>

double
pg_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;
}


int main()
{
    printf("rint(-1.5): %f\n", rint(-1.5));
    printf("pg_rint(-1.5): %f\n", pg_rint(-1.5));
    printf("rint(1.5): %f\n", rint(1.5));
    printf("pg_rint(1.5): %f\n", pg_rint(1.5));
}
