1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include <fenv.h> #include <math.h> float nearbyintf(float x) { #ifdef FE_INEXACT int e; e = fetestexcept(FE_INEXACT); #endif x = rintf(x); #ifdef FE_INEXACT if (!e) feclearexcept(FE_INEXACT); #endif return x; }