Developer Reference

Contents

v?Exp

Computes an exponential of vector elements.

Syntax

vsExp
(
n
,
a
,
y
)
;
vsExpI(n, a, inca, y, incy);
vmsExp
(
n
,
a
,
y
,
mode
)
;
vmsExpI(n, a, inca, y, incy, mode);
vdExp
(
n
,
a
,
y
)
;
vdExpI(n, a, inca, y, incy);
vmdExp
(
n
,
a
,
y
,
mode
)
;
vmdExpI(n, a, inca, y, incy, mode);
vcExp
(
n
,
a
,
y
)
;
vcExpI(n, a, inca, y, incy);
vmcExp
(
n
,
a
,
y
,
mode
)
;
vmcExpI(n, a, inca, y, incy, mode);
vzExp
(
n
,
a
,
y
)
;
vzExpI(n, a, inca, y, incy);
vmzExp
(
n
,
a
,
y
,
mode
)
;
vmzExpI(n, a, inca, 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
const float*
for
vsExp
,
vmsExp
const double*
for
vdExp
,
vmdExp
const MKL_Complex8*
for
vcExp
,
vmcExp
const MKL_Complex16*
for
vzExp
,
vmzExp
Pointer to an array that contains the input vector
a
.
inca
,
incy
const MKL_INT
Specifies increments for the elements of
a
and
y
.
mode
const MKL_INT64
Overrides global VM mode setting for this function call. See
vmlSetMode
for possible values and their description.
Precision Overflow Thresholds for Real
v?Exp
Function
Data Type
Threshold Limitations on Input Parameters
single precision
a
[i] < Ln( FLT_MAX )
double precision
a
[i] < Ln( DBL_MAX )
Precision overflow thresholds for the complex
v?Exp
function are beyond the scope of this document.
Output Parameters
Name
Type
Description
y
float*
for
vsExp
,
vmsExp
double*
for
vdExp
,
vmdExp
MKL_Complex8*
for
vcExp
,
vmcExp
MKL_Complex16*
for
vzExp
,
vmzExp
Pointer to an array that contains the output vector
y
.
Description
The
v?Exp
function computes an exponential of vector elements.
Special Values for Real Function
v?Exp(x)
Argument
Result
VM Error Status
Exception
+0
+1
 
 
-0
+1
 
 
X > overflow
+
VML_STATUS_OVERFLOW
OVERFLOW
X < underflow
+0
VML_STATUS_UNDERFLOW
UNDERFLOW
+
+
 
 
-
+0
 
 
QNAN
QNAN
 
 
SNAN
QNAN
 
INVALID
See Special Value Notations for the conventions used in the table below.
Special Values for Complex Function
v?Exp(z)
RE(z)
i
·
IM(z)
-
 
-X
 
-0
 
+0
 
+X
 
+
 
NAN
 
+i
·
 
+0+i
·
0
 
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
+
+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
+i
·
Y
+0
·
CIS(Y)
+
·
CIS(Y)
QNAN+i
·
QNAN
+i
·
0
+0
·
CIS(0)
+1+i
·
0
+1+i
·
0
+
+i
·
0
QNAN+i
·
0
-i
·
0
+0
·
CIS(0)
+1-i
·
0
+1-i
·
0
+
-i
·
0
QNAN-i
·
0
-i
·
Y
+0
·
CIS(Y)
+
·
CIS(Y)
QNAN+i
·
QNAN
-i
·
 
+0-i
·
0
 
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
+
+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
+i
·
NAN
+0+i
·
0
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
QNAN+i
·
QNAN
INVALID
+
+i
·
QNAN
QNAN+i
·
QNAN
Notes:
  • raises the
    INVALID
    exception when real or imaginary part of the argument is
    SNAN
  • raises the
    INVALID
    exception on argument
    z=-
    +i
    ·
    QNAN
  • raises the
    OVERFLOW
    exception and sets the VM Error Status to
    VML_STATUS_OVERFLOW
    in the case of overflow, that is, when both
    RE(z)
    and
    IM(z)
    are finite non-zero numbers, but the real or imaginary part of the exact result is so large that it does not meet the target precision.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804