View source code
Display the source code in std/math.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function std.math.nearbyint

Rounds x to the nearest integer value, using the current rounding mode.

real nearbyint (
  real x
) pure nothrow @nogc @safe;

Unlike the rint functions, nearbyint does not raise the FE_INEXACT exception.

Note

Not implemented for Microsoft C Runtime

Example

version (CRuntime_Microsoft) {}
else
{
    writeln(nearbyint(0.4)); // 0
    writeln(nearbyint(0.5)); // 0
    writeln(nearbyint(0.6)); // 1
    writeln(nearbyint(100.0)); // 100

    assert(isNaN(nearbyint(real.nan)));
    writeln(nearbyint(real.infinity)); // real.infinity
    writeln(nearbyint(-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.
*
* <code class="lang-d"><span class="pln">nearbyint</span></code> performs the same operation, but does
* not set the FE_INEXACT exception.
*/
real rint(real x) @safe pure nothrow @nogc { pragma(inline, true); return rint(x); 

Authors

Walter Bright, Don Clugston, Conversion of CEPHES math library to D by Iain Buclaw and David Nadlinger

License

Boost License 1.0.