#
Fortran Wiki

atan2

## Description

`atan2(y, x)`

computes the arctangent of the complex number $X + i Y$.

This function can be used to transform from Cartesian into polar coordinates and allows to determine the angle in the correct quadrant. To convert from Cartesian Coordinates $(x,y)$ to polar coordinates $(r,\theta)$:

$\begin{aligned}
r &= \sqrt{x^2 + y^2} \\
\theta &= \tan^{-1}(y / x)
\end{aligned}$

## Standard

FORTRAN 77 and later

## Class

Elemental function

## Syntax

`result = atan2(y, x)`

## Arguments

`y`

- The type shall be `real`

.
`x`

- The type and kind type parameter shall be the same as `y`

. If `y`

is zero, then `x`

must be nonzero.

## Return value

The return value has the same type and kind type parameter as `y`

. It is the principal value of the complex number $X + i Y$. If `x`

is nonzero, then it lies in the range $-\pi \leq \atan (x) \leq \pi$. The sign is positive if `y`

is positive. If `y`

is zero, then the return value is zero if `x`

is strictly positive, $\pi$ if `x`

is negative and `y`

is positive zero (or the processor does not handle signed zeros), and $-\pi$ if `x`

is negative and `y`

is negative zero. Finally, if `x`

is zero, then the magnitude of the result is $\pi/2$.

## Example

```
program test_atan2
real(4) :: x = 1.e0_4, y = 0.5e0_4
x = atan2(y,x)
end program test_atan2
```

**Note:** In Return value, NNemec changed the first $\leq$ to $\lt$. Joe Krahn reverted the edit, following the Fortran 2008 specs.

Revised on March 1, 2023 13:06:32
by

Jason Blevins
(23.245.217.121)
(1712 characters / 0.0 pages)