• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
nearbyint(double x)6 double 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 }
21