github.com/afumu/libc@v0.0.6/musl/src/math/nearbyint.c (about)

     1  #include <fenv.h>
     2  #include <math.h>
     3  
     4  /* nearbyint is the same as rint, but it must not raise the inexact exception */
     5  
     6  double nearbyint(double x)
     7  {
     8  #ifdef FE_INEXACT
     9  	#pragma STDC FENV_ACCESS ON
    10  	int e;
    11  
    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;
    20  }