Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

v?Atan2

Computes four-quadrant inverse tangent of elements of two vectors.

Syntax

vsAtan2( n, a, b, y );

vsAtan2I(n, a, inca, b, incb, y, incy);

vmsAtan2( n, a, b, y, mode );

vmsAtan2I(n, a, inca, b, incb, y, incy, mode);

vdAtan2( n, a, b, y );

vdAtan2I(n, a, inca, b, incb, y, incy);

vmdAtan2( n, a, b, y, mode );

vmdAtan2I(n, a, inca, b, incb, y, incy, mode);

Include Files
  • mkl.h
Input Parameters

Name

Type

Description

n

const MKL_INT

Specifies the number of elements to be calculated.

a, b

const float* for vsAtan2, vmsAtan2

const double* for vdAtan2, vmdAtan2

Pointers to arrays that contain the input vectors a and b.

inca, incb, incy

const MKL_INT

Specifies increments for the elements of a, b and y.

mode

const MKL_INT64

Overrides global VM mode setting for this function call. See vmlSetMode for possible values and their description.

Output Parameters

Name

Type

Description

y

float* for vsAtan2, vmsAtan2

double* for vdAtan2, vmdAtan2

Pointer to an array that contains the output vector y.

Description

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].

Special values for Real Function v?Atan2(x)
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