View source code
Display the source code in std/math/trigonometry.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.trigonometry.atan2
Calculates the arc tangent of y / x, returning a value ranging from -π to π.
real atan2
(
real y,
real x
) pure nothrow @nogc @trusted;
double atan2
(
double y,
double x
) pure nothrow @nogc @safe;
float atan2
(
float y,
float x
) pure nothrow @nogc @safe;
y | x | atan(y, x) |
---|---|---|
NAN | anything | NAN |
anything | NAN | NAN |
±0.0 | >0.0 | ±0.0 |
±0.0 | +0.0 | ±0.0 |
±0.0 | <0.0 | ±π |
±0.0 | -0.0 | ±π |
>0.0 | ±0.0 | π/2 |
<0.0 | ±0.0 | -π/2 |
>0.0 | ∞ | ±0.0 |
±∞ | anything | ±π/2 |
>0.0 | -∞ | ±π |
±∞ | ∞ | ±π/4 |
±∞ | -∞ | ±3π/4 |
Example
import std .math .operations : isClose;
import std .math .constants : PI;
import std .math .algebraic : sqrt;
assert(atan2(1.0, sqrt(3.0)) .isClose(PI / 6));
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.