Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
v?Atan2
Computes four-quadrant inverse tangent of elements of two vectors.
call vsatan2( n, a, b, y )
call vsatan2i(n, a, inca, b, incb, y, incy)
call vmsatan2( n, a, b, y, mode )
call vmsatan2i(n, a, inca, b, incb, y, incy, mode)
call vdatan2( n, a, b, y )
call vdatan2i(n, a, inca, b, incb, y, incy)
call vmdatan2( n, a, b, y, mode )
call vmdatan2i(n, a, inca, b, incb, y, incy, mode)
- mkl_vml.f90
 
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
n  |  
      INTEGER, INTENT(IN)  |  
      Specifies the number of elements to be calculated.  |  
     
a, b  |  
      DOUBLE PRECISION for vdatan2, vmdatan2 REAL, INTENT(IN) for vsatan2, vmsatan2 DOUBLE PRECISION, INTENT(IN) for vdatan2, vmdatan2  |  
      Arrays that specify the input vectors a and b.  |  
     
inca, incb, incy  |  
      INTEGER, INTENT(IN)  |  
      Specifies increments for the elements of a, b and y.  |  
     
mode  |  
      INTEGER(KIND=8), INTENT(IN)  |  
      Overrides global VM mode setting for this function call. See vmlSetMode for possible values and their description.  |  
     
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
y  |  
      DOUBLE PRECISION for vdatan2, vmdatan2 REAL, INTENT(OUT) for vsatan2, vmsatan2 DOUBLE PRECISION, INTENT(OUT) for vdatan2, vmdatan2  |  
      Array that specifies the output vector y.  |  
     
The v?Atan2 function computes four-quadrant inverse tangent of elements of two vectors.
The elements of the output vectory are computed as the four-quadrant arctangent of a[i] / b[i].
| Argument 1 | Argument 2 | Result | Exception | 
|---|---|---|---|
| -∞ | -∞ | -3*π/4 | |
| -∞ | X < +0 | -π/2 | |
| -∞ | -0 | -π/2 | |
| -∞ | +0 | -π/2 | |
| -∞ | X > +0 | -π/2 | |
| -∞ | +∞ | -π/4 | |
| X < +0 | -∞ | -π | |
| X < +0 | -0 | -π/2 | |
| X < +0 | +0 | -π/2 | |
| X < +0 | +∞ | -0 | |
| -0 | -∞ | -π | |
| -0 | X < +0 | -π | |
| -0 | -0 | -π | |
| -0 | +0 | -0 | |
| -0 | X > +0 | -0 | |
| -0 | +∞ | -0 | |
| +0 | -∞ | +π | |
| +0 | X < +0 | +π | |
| +0 | -0 | +π | |
| +0 | +0 | +0 | |
| +0 | X > +0 | +0 | |
| +0 | +∞ | +0 | |
| X > +0 | -∞ | +π | |
| X > +0 | -0 | +π/2 | |
| X > +0 | +0 | +π/2 | |
| X > +0 | +∞ | +0 | |
| +∞ | -∞ | +3*π/4 | |
| +∞ | X < +0 | +π/2 | |
| +∞ | -0 | +π/2 | |
| +∞ | +0 | +π/2 | |
| +∞ | X > +0 | +π/2 | |
| +∞ | +∞ | +π/4 | |
| X > +0 | QNAN | QNAN | |
| X > +0 | SNAN | QNAN | INVALID | 
| QNAN | X > +0 | QNAN | |
| SNAN | X > +0 | QNAN | INVALID | 
| QNAN | QNAN | QNAN | |
| QNAN | SNAN | QNAN | INVALID | 
| SNAN | QNAN | QNAN | INVALID | 
| SNAN | SNAN | QNAN | INVALID |