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.