Computes an exponential of vector elements.
Syntax
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);
Input Parameters
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.
Output Parameters
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. |
Description
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.