View source code
Display the source code in std/math/traits.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.traits.copysign
R copysign(R, X)
(
R to,
X from
) pure nothrow @nogc @trusted
if (isFloatingPoint!R && isFloatingPoint!X);
R copysign(R, X)
(
X to,
R from
) pure nothrow @nogc @trusted
if (isIntegral!X && isFloatingPoint!R);
Parameters
Name | Description |
---|---|
to | the numeric value to use |
from | the sign value to use |
Returns
a value composed of to with from's sign bit.
Example
writeln(copysign(1.0, 1.0)); // 1.0
writeln(copysign(1.0, -0.0)); // -1.0
writeln(copysign(1UL, -1.0)); // -1.0
writeln(copysign(-1.0, -1.0)); // -1.0
writeln(copysign(real .infinity, -1.0)); // -real.infinity
assert(copysign(real .nan, 1.0) is real .nan);
assert(copysign(-real .nan, 1.0) is real .nan);
assert(copysign(real .nan, -1.0) is -real .nan);
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.