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