xref: /haiku/src/system/libroot/posix/musl/math/nearbyint.c (revision 02354704729d38c3b078c696adc1bbbd33cbcf72)
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 
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