atan2(y, x): ArcTangent¶
Arctangent function or inverse tangent function.
Declaration¶
Syntax¶
retval = atan2(y, x)
elemental real(p) function atan2(y, x)
Arguments¶
y
the input value is the imaginary part of the complex expression
\(x + iy\)
x
the input value, must be real part of the complex expression.
Return values¶
The returned value has the kind and TYPE as of the input value y
. The
principal value of the argument function of the complex expression \(x + iy\)
is returned.
Description¶
atan2(y, x) computes the principal value of the argument function of the complex expression \(x + iy\). This is used to transform from cartesian into polar coordinates and allows to determine the angle in the correct quadrant.
It is also represented as:
\(tan^{-1}(\frac{y}{x})\)
If x
is nonzero, the result lies in the range:
\(-\pi <= atan(x) <= \pi\)
The sign is positive if y
is positive.
If y
is zero and x
is strictly positive, then the result is 0.
If x
is negative and y
is positive zero, then the result is \(\pi\).
If x
is negative and y
is negative zero, then the result is \(-\pi\).
If x
is zero, then the magnitude of the result is \(\frac{\pi}{2}\).
If y
is negative real zero, the result is \(\frac{-\pi}{2}\).
Types¶
Supported argument type is real.
interface atan2
module procedure satan2, datan2
end interface
contains
interface
elemental real(sp) function satan2(y, x)
real(sp), intent(in) :: y, x
end function
elemental real(dp) function datan2(y, x)
real(dp), intent(in) :: y, x
end function
end interface
Examples¶
program intrinsics_atan2
implicit none
print *, atan2(2.679676, 1.0)
end program
Result:
0.699521642