Computes an exponential of vector elements.
FORTRAN:
call vsexp( n, a, y )
call vmsexp( n, a, y, mode )
call vdexp( n, a, y )
call vmdexp( n, a, y, mode )
call vcexp( n, a, y )
call vmcexp( n, a, y, mode )
call vzexp( n, a, y )
call vmzexp( n, a, y, mode )
C:
vsExp( n, a, y );
vmsExp( n, a, y, mode );
vdExp( n, a, y );
vmdExp( n, a, y, mode );
vcExp( n, a, y );
vmcExp( n, a, y, mode );
vzExp( n, a, y );
vmzExp( n, a, y, mode );
Name |
Type |
Description |
---|---|---|
n |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: const int |
Specifies the number of elements to be calculated. |
a |
FORTRAN 77: REAL for vsexp, vmsexp DOUBLE PRECISION for vdexp, vmdexp COMPLEX for vcexp, vmcexp DOUBLE COMPLEX for vzexp, vmzexp Fortran 90: REAL, INTENT(IN) for vsexp, vmsexp DOUBLE PRECISION, INTENT(IN) for vdexp, vmdexp COMPLEX, INTENT(IN) for vcexp, vmcexp DOUBLE COMPLEX, INTENT(IN) for vzexp, vmzexp C: const float* for vsExp, vmsExp const double* for vdExp, vmdExp const MKL_Complex8* for vcExp, vmcExp const MKL_Complex16* for vzExp, vmzExp |
FORTRAN: Array, specifies the input vector a. C: Pointer to an array that contains the input vector a. |
mode |
FORTRAN 77: INTEGER*8 Fortran 90: INTEGER(KIND=8), INTENT(IN) C: const MKL_INT64 |
Overrides global VML mode setting for this function call. See vmlSetMode for possible values and their description. |
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.
Name |
Type |
Description |
---|---|---|
y |
FORTRAN 77: REAL for vsexp, vmsexp DOUBLE PRECISION for vdexp, vmdexp COMPLEX for vcexp, vmcexp DOUBLE COMPLEX for vzexp, vmzexp Fortran 90: REAL, INTENT(OUT) for vsexp, vmsexp DOUBLE PRECISION, INTENT(OUT) for vdexp, vmdexp COMPLEX, INTENT(OUT) for vcexp, vmcexp DOUBLE COMPLEX, INTENT(OUT) for vzexp, vmzexp C: float* for vsExp, vmsExp double* for vdExp, vmdExp MKL_Complex8* for vcExp, vmcExp MKL_Complex16* for vzExp, vmzExp |
FORTRAN: Array, specifies the output vector y. C: Pointer to an array that contains the output vector y. |
The v?Exp function computes an exponential of vector elements.
Argument | Result | VML 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.
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 VML Error Status to VML_STATUS_OVERFLOW in the case of overflow, that is, when RE(z), 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.