12345678910111213141516171819202122232425 |
- #include <math.h>
- #include <float.h>
- #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
- long double nearbyintl(long double x)
- {
- return nearbyint(x);
- }
- #else
- #include <fenv.h>
- long double nearbyintl(long double x)
- {
- #ifdef FE_INEXACT
- int e;
- e = fetestexcept(FE_INEXACT);
- #endif
- x = rintl(x);
- #ifdef FE_INEXACT
- if (!e)
- feclearexcept(FE_INEXACT);
- #endif
- return x;
- }
- #endif
|