master
1#include <math.h>
2#include <float.h>
3
4#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
5long double nearbyintl(long double x)
6{
7 return nearbyint(x);
8}
9#else
10#include <fenv.h>
11long double nearbyintl(long double x)
12{
13#ifdef FE_INEXACT
14 #pragma STDC FENV_ACCESS ON
15 int e;
16
17 e = fetestexcept(FE_INEXACT);
18#endif
19 x = rintl(x);
20#ifdef FE_INEXACT
21 if (!e)
22 feclearexcept(FE_INEXACT);
23#endif
24 return x;
25}
26#endif