Function std.math.lrint
Rounds x
to the nearest integer value, using the current rounding
mode.
This is generally the fastest method to convert a floating-point number
to an integer. Note that the results from this function
depend on the rounding mode, if the fractional part of x
is exactly 0.5.
If using the default rounding mode (ties round
to even integers)
lrint
(4.5) == 4, lrint
(5.5)==6.
Prototype
long lrint( real x ) pure nothrow @nogc @trusted;
Example
assert(lrint(4.5) == 4); assert(lrint(5.5) == 6); assert(lrint(-4.5) == -4); assert(lrint(-5.5) == -6); assert(lrint(int.max - 0.5) == 2147483646L); assert(lrint(int.max + 0.5) == 2147483648L); assert(lrint(int.min - 0.5) == -2147483648L); assert(lrint(int.min + 0.5) == -2147483648L);
Authors
Walter Bright, Don Clugston, Conversion of CEPHES math library to D by Iain Buclaw