View source code
Display the source code in std/math/exponential.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.exponential.scalbn
Efficiently calculates x * 2n.
real scalbn
(
real x,
int n
) pure nothrow @nogc @safe;
double scalbn
(
double x,
int n
) pure nothrow @nogc @safe;
float scalbn
(
float x,
int n
) pure nothrow @nogc @safe;
scalbn handles underflow and overflow in the same fashion as the basic arithmetic operators.
x | scalb(x) |
---|---|
±∞ | ±∞ |
±0.0 | ±0.0 |
Example
writeln(scalbn(0x1.2345678abcdefp0L, 999)); // 0x1.2345678abcdefp999L
writeln(scalbn(-real .infinity, 5)); // -real.infinity
writeln(scalbn(2.0, 10)); // 2048.0
writeln(scalbn(2048.0f, -10)); // 2.0f
Authors
Walter Bright, Don Clugston, Conversion of CEPHES math library to D by Iain Buclaw and David Nadlinger
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.