core.math
Builtin mathematical intrinsics
- Source
- core/math.d
- License:
-
Boost License 1.0.
- Authors:
-
Walter Bright, Don Clugston
- nothrow @nogc @safe real rndtonl(real x);
-
Returns x rounded to a long value using the FE_TONEAREST rounding mode. If the integer value of x is greater than long.max, the result is indeterminate.
- pure nothrow @nogc @safe float cos(float x);
pure nothrow @nogc @safe double cos(double x);
pure nothrow @nogc @safe real cos(real x); -
Returns cosine of x. x is in radians.
Special Values
| x | cos(x) | invalid? |
| NAN | NAN | yes |
| ±∞ | NAN | yes |
- Bugs:
- Results are undefined if |x| >= 264.
- pure nothrow @nogc @safe float sin(float x);
pure nothrow @nogc @safe double sin(double x);
pure nothrow @nogc @safe real sin(real x); -
Returns sine of x. x is in radians.
Special Values
| x | sin(x) | invalid? |
| NAN | NAN | yes |
| ±0.0 | ±0.0 | no |
| ±∞ | NAN | yes |
- Bugs:
- Results are undefined if |x| >= 264.
- pure nothrow @nogc @safe long rndtol(float x);
pure nothrow @nogc @safe long rndtol(double x);
pure nothrow @nogc @safe long rndtol(real x); -
Returns x rounded to a long value using the current rounding mode. If the integer value of x is greater than long.max, the result is indeterminate.
- pure nothrow @nogc @safe float sqrt(float x);
pure nothrow @nogc @safe double sqrt(double x);
pure nothrow @nogc @safe real sqrt(real x); -
Compute square root of x.
Special Values
| x | sqrt(x) | invalid? |
| -0.0 | -0.0 | no |
| <0.0 | NAN | yes |
| +∞ | +∞ | no |
- pure nothrow @nogc @safe float ldexp(float n, int exp);
pure nothrow @nogc @safe double ldexp(double n, int exp);
pure nothrow @nogc @safe real ldexp(real n, int exp); -
Compute n * 2exp
- References
- frexp
- pure nothrow @nogc @safe float fabs(float x);
-
Compute the absolute value.
Special Values
| x | fabs(x) |
| ±0.0 | +0.0 |
| ±∞ | +∞ |
It is implemented as a compiler intrinsic.
- Parameters:
float x
| floating point value |
- Returns:
- |x|
- References
- equivalent to
std.math.fabs
- pure nothrow @nogc @safe double fabs(double x);
-
ditto
Compute the absolute value.
Special Values
| x | fabs(x) |
| ±0.0 | +0.0 |
| ±∞ | +∞ |
It is implemented as a compiler intrinsic.
- Parameters:
double x
| floating point value |
- Returns:
- |x|
- References
- equivalent to
std.math.fabs
- pure nothrow @nogc @safe real fabs(real x);
-
ditto
Compute the absolute value.
Special Values
| x | fabs(x) |
| ±0.0 | +0.0 |
| ±∞ | +∞ |
It is implemented as a compiler intrinsic.
- Parameters:
real x
| floating point value |
- Returns:
- |x|
- References
- equivalent to
std.math.fabs
- pure nothrow @nogc @safe float rint(float x);
pure nothrow @nogc @safe double rint(double x);
pure nothrow @nogc @safe real rint(real x); -
Rounds x to the nearest integer value, using the current rounding mode. If the return value is not equal to x, the FE_INEXACT exception is raised. nearbyint performs the same operation, but does not set the FE_INEXACT exception.
- pure nothrow @nogc @safe float yl2x(float x, float y);
pure nothrow @nogc @safe double yl2x(double x, double y);
pure nothrow @nogc @safe real yl2x(real x, real y);
pure nothrow @nogc @safe double yl2xp1(double x, double y);
pure nothrow @nogc @safe real yl2xp1(real x, real y); -
Building block functions, they translate to a single x87 instruction.
- T toPrec(T : float)(float f);
T toPrec(T : float)(double f);
T toPrec(T : float)(real f);
T toPrec(T : double)(float f);
T toPrec(T : double)(double f);
T toPrec(T : double)(real f);
T toPrec(T : real)(float f);
T toPrec(T : real)(double f);
T toPrec(T : real)(real f); -
Round argument to a specific precision.
D language types specify only a minimum precision, not a maximum. The toPrec() function forces rounding of the argument f to the precision of the specified floating point type T. The rounding mode used is inevitably target-dependent, but will be done in a way to maximize accuracy. In most cases, the default is round-to-nearest.
- Parameters:
| T | precision type to round to |
float f
| value to convert |
- Returns:
- f in precision of type
T