std.math.FloatingPointControl.rounding
- multiple declarations
Function FloatingPointControl.rounding
Change the floating-point hardware rounding mode
void rounding
(
uint newMode
) nothrow @property @nogc @trusted;
Changing the rounding mode in the middle of a function can interfere with optimizations of floating point expressions, as the optimizer assumes that the rounding mode does not change. It is best to change the rounding mode only at the beginning of the function, and keep it until the function returns. It is also best to add the line:
pragma(inline, false);
as the first line of the function so it will not get inlined.
Parameters
Name | Description |
---|---|
newMode | the new rounding mode |
Function FloatingPointControl.rounding
static uint rounding() pure nothrow @property @nogc @trusted;
Returns
the currently active rounding mode
Function FloatingPointControl.rounding
Change the floating-point hardware rounding mode
void rounding
(
uint newMode
) nothrow @property @nogc @trusted;
Changing the rounding mode in the middle of a function can interfere with optimizations of floating point expressions, as the optimizer assumes that the rounding mode does not change. It is best to change the rounding mode only at the beginning of the function, and keep it until the function returns. It is also best to add the line:
pragma(inline, false);
as the first line of the function so it will not get inlined.
Parameters
Name | Description |
---|---|
newMode | the new rounding mode |
Function FloatingPointControl.rounding
static uint rounding() pure nothrow @property @nogc @trusted;
Returns
the currently active rounding mode
Authors
Walter Bright, Don Clugston, Conversion of CEPHES math library to D by Iain Buclaw and David Nadlinger