check for kernel support before allowing robust mutex creation
[musl.git] / src / math / nearbyint.c
blobf4e8aac4f0118d7d48d1d6a8e4af0fec048ee62a
1 #include <fenv.h>
2 #include <math.h>
4 /* nearbyint is the same as rint, but it must not raise the inexact exception */
6 double nearbyint(double x)
8 #ifdef FE_INEXACT
9 #pragma STDC FENV_ACCESS ON
10 int e;
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;