View source code Display the source code in std/math.d from which this page was generated on github. 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. Page wiki View or edit the community-maintained wiki page associated with this page.

Function std.math.nextDown

Calculate the next smallest floating point value before x.

Return the greatest number less than x that is representable as a real; thus, it gives the previous point on the IEEE number line.

x, nextDown(x) ∞, real.max ±0.0, -real.min_normal*real.epsilon -real.max, -∞ -∞, -∞ ,

Prototypes

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

double nextDown(
  double x
) pure nothrow @nogc @safe;

float nextDown(
  float x
) pure nothrow @nogc @safe;

Example

assert( nextDown(1.0 + real.epsilon) == 1.0);

Authors

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

License

Boost License 1.0.

Comments