import std.math.traits : isNaN; version (IeeeFlagsSupport) resetIeeeFlags(); assert(rint(0.4) == 0); version (LDC) { /* inexact bit not set with enabled optimizations */ } else version (IeeeFlagsSupport) assert(ieeeFlags.inexact); assert(rint(0.5) == 0); assert(rint(0.6) == 1); assert(rint(100.0) == 100); assert(isNaN(rint(real.nan))); assert(rint(real.infinity) == real.infinity); assert(rint(-real.infinity) == -real.infinity);
Rounds x to the nearest integer value, using the current rounding mode.
If the return value is not equal to x, the FE_INEXACT exception is raised.
nearbyint performs the same operation, but does not set the FE_INEXACT exception.