ATAN2 (The GNU Fortran Compiler)

### 8.26 `ATAN2` — Arctangent function ¶

Synopsis:

  `RESULT = ATAN2(Y, X)`

Description:

  `ATAN2(Y, X)` computes the principal value of the argument function 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.

Class:

  Elemental function

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 \le \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

Specific names:

  Name | Argument | Return type | Standard
  --- | --- | --- | ---
  `ATAN2(X, Y)` | `REAL(4) X, Y` | `REAL(4)` | Fortran 77 and later
  `DATAN2(X, Y)` | `REAL(8) X, Y` | `REAL(8)` | Fortran 77 and later

Standard:

  Fortran 77 and later

See also:

  Alias:
  `ATAN` — Arctangent function
  Degrees function:
  `ATAN2D` — Arctangent function, degrees