Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

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

Document Table of Contents

v?Acos

Computes inverse cosine of vector elements.

Syntax

call vsacos( n, a, y )

call vsacosi(n, a, inca, y, incy)

call vmsacos( n, a, y, mode )

call vmsacosi(n, a, inca, y, incy, mode)

call vdacos( n, a, y )

call vdacosi(n, a, inca, y, incy)

call vmdacos( n, a, y, mode )

call vmdacosi(n, a, inca, y, incy, mode)

call vcacos( n, a, y )

call vcacosi(n, a, inca, y, incy)

call vmcacos( n, a, y, mode )

call vmcacosi(n, a, inca, y, incy, mode)

call vzacos( n, a, y )

call vzacosi(n, a, inca, y, incy)

call vmzacos( n, a, y, mode )

call vmzacosi(n, a, inca, y, incy, mode)

Include Files

  • mkl_vml.f90

Input Parameters

Name

Type

Description

n

INTEGER, INTENT(IN)

Specifies the number of elements to be calculated.

a

DOUBLE PRECISION for vdacos, vmdacos

COMPLEX for vcacos, vmcacos

DOUBLE COMPLEX for vzacos, vmzacos

REAL, INTENT(IN) for vsacos, vmsacos

DOUBLE PRECISION, INTENT(IN) for vdacos, vmdacos

COMPLEX, INTENT(IN) for vcacos, vmcacos

DOUBLE COMPLEX, INTENT(IN) for vzacos, vmzacos

Array that specifies the input vector a.

inca, incy

INTEGER, INTENT(IN)

Specifies increments for the elements of a 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.

Output Parameters

Name

Type

Description

y

DOUBLE PRECISION for vdacos, vmdacos

COMPLEX for vcacos, vmcacos

DOUBLE COMPLEX for vzacos, vmzacos

REAL, INTENT(OUT) for vsacos, vmsacos

DOUBLE PRECISION, INTENT(OUT) for vdacos, vmdacos

COMPLEX, INTENT(OUT) for vcacos, vmcacos

DOUBLE COMPLEX, INTENT(OUT) for vzacos, vmzacos

Array that specifies the output vector y.

Description

The v?Acos function computes inverse cosine of vector elements.

Special Values for Real Function v?Acos(x)
Argument Result VM Error Status Exception
+0 +π/2    
-0 +π/2    
+1 +0    
-1 +π    
|X| > 1 QNAN VML_STATUS_ERRDOM INVALID
+ QNAN VML_STATUS_ERRDOM INVALID
- QNAN VML_STATUS_ERRDOM INVALID
QNAN QNAN    
SNAN QNAN   INVALID

See Special Value Notations for the conventions used in the table below.

Special Values for Complex Function v?Acos(z)

RE(z)

i·IM(z)

-

 

-X

 

-0

 

+0

 

+X

 

+

 

NAN

 

+i· +3·π/4-i· +π/2-i· +π/2-i· +π/2-i· +π/2-i· +π/4-i· QNAN-i·
+i·Y +π-i·         +0-i· QNAN+i·QNAN
+i·0 +π-i·   +π/2-i·0 +π/2-i·0   +0-i· QNAN+i·QNAN
-i·0 +π+i·   +π/2+i·0 +π/2+i·0   +0+i· QNAN+i·QNAN
-i·Y +π+i·         +0+i· QNAN+i·QNAN
-i· +3π/4+i· +π/2+i· +π/2+i· +π/2+i· +π/2+i· +π/4+i· QNAN+i·
+i·NAN QNAN+i· QNAN+i·QNAN +π/2+i·QNAN +π/2+i·QNAN QNAN+i·QNAN QNAN+i· QNAN+i·QNAN

Notes:

  • raises INVALID exception when real or imaginary part of the argument is SNAN

  • Acos(CONJ(z))=CONJ(Acos(z)).