Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
v?Powx
vsPowx vdPowx vcPowx vzPowx vmsPowx vmdPowx vmcPowx vmzPowx Computes vector a to the scalar power b .
Syntax
call vspowx(n, a, b, y)
call vspowxi(n, a, inca, b, y, incy)
call vmspowx(n, a, b, y, mode)
call vmspowxi(n, a, inca, b, y, incy, mode)
call vdpowx(n, a, b, y)
call vdpowxi(n, a, inca, b, y, incy)
call vmdpowx(n, a, b, y, mode)
call vmdpowxi(n, a, inca, b, y, incy, mode)
call vcpowx(n, a, b, y)
call vcpowxi(n, a, inca, b, y, incy)
call vmcpowx(n, a, b, y, mode)
call vmcpowxi(n, a, inca, b, y, incy, mode)
call vzpowx(n, a, b, y)
call vzpowxi(n, a, inca, b, y, incy)
call vmzpowx(n, a, b, y, mode)
call vmzpowxi(n, a, inca, b, y, incy, mode)
Include Files
mkl_vml.f90
Input Parameters
Name |
Type |
Description |
|---|---|---|
n |
Number of elements to be calculated. |
|
a |
Fortran 77: DOUBLE PRECISION for vdpowx , vmdpowxFortran 77: COMPLEX for vcpowx , vmcpowxFortran 77: DOUBLE COMPLEX for vzpowx , vmzpowxFortran 90: REAL , INTENT(IN) for vspowx , vmspowxFortran 90: DOUBLE PRECISION , INTENT(IN) for vdpowx , vmdpowxFortran 90: COMPLEX , INTENT(IN) for vcpowx , vmcpowxFortran 90: DOUBLE COMPLEX , INTENT(IN) for vzpowx , vmzpowx |
Array a that specifies the input vector |
b |
Fortran 77: DOUBLE PRECISION for vdpowx , vmdpowxFortran 77: COMPLEX for vcpowx , vmcpowxFortran 77: DOUBLE COMPLEX for vzpowx , vmzpowxFortran 90: REAL , INTENT(IN) for vspowx , vmspowxFortran 90: DOUBLE PRECISION , INTENT(IN) for vdpowx , vmdpowxFortran 90: COMPLEX , INTENT(IN) for vcpowx , vmcpowxFortran 90: DOUBLE COMPLEX , INTENT(IN) for vzpowx , vmzpowx |
Scalar value b that is the constant power. |
inca , incy |
INTEGER, INTENT(IN) |
Specifies increments for the elements of a and y . |
mode |
Overrides global VM mode setting for this function call. See vmlSetMode (Sets a new mode for VM functions according to the mode parameter and stores the previous VM mode to oldmode.) for possible values and their description. |
Precision Overflow Thresholds for Real v?Powx Function
Data Type |
Threshold Limitations on Input Parameters |
|---|---|
single precision |
abs(a[i]) < ( FLT_MAX )^{1/b} |
double precision |
abs(a[i]) < ( DBL_MAX )^{1/b} |
Precision overflow thresholds for the complex v?Powx function are beyond the scope of this document.
Output Parameters
Name |
Type |
Description |
|---|---|---|
y |
Fortran 77: DOUBLE PRECISION for vdpowx , vmdpowxFortran 77: COMPLEX for vcpowx , vmcpowxFortran 77: DOUBLE COMPLEX for vzpowx , vmzpowxFortran 90: REAL , INTENT(OUT) for vspowx , vmspowxFortran 90: DOUBLE PRECISION , INTENT(OUT) for vdpowx , vmdpowxFortran 90: COMPLEX , INTENT(OUT) for vcpowx , vmcpowxFortran 90: DOUBLE COMPLEX , INTENT(OUT) for vzpowx , vmzpowx |
Array that specifies the output vector y . |
Description
The v?Powx function computes a to the power b for a vector a and a scalar b .
The real function v(s/d)Powx has certain limitations on the input range of a and b parameters. Specifically, if a [i] is positive, then b may be arbitrary. For negative a [i] , the value of b must be an integer (either positive or negative).
The complex function v(c/z)Powx has no input range limitations.
Special values and VM Error Status treatment are the same as for the v?Pow function.