master
 1#include <fenv.h>
 2#include <math.h>
 3
 4/* nearbyint is the same as rint, but it must not raise the inexact exception */
 5
 6double nearbyint(double x)
 7{
 8#ifdef FE_INEXACT
 9	#pragma STDC FENV_ACCESS ON
10	int e;
11
12	e = fetestexcept(FE_INEXACT);
13#endif
14	x = rint(x);
15#ifdef FE_INEXACT
16	if (!e)
17		feclearexcept(FE_INEXACT);
18#endif
19	return x;
20}