Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
v?Powr
Computes a to the power b for elements of two vectors, where the elements of vector argument a are all non-negative.
Syntax
call vspowr(n, a, b, y)
call vspowri(n, a, inca, b, incb, y, incy)
call vmspowr(n, a, b, y, mode)
call vmspowri(n, a, inca, b, incb, y, incy, mode)
call vdpowr(n, a, b, y)
call vdpowri(n, a, inca, b, incb, y, incy)
call vmdpowr(n, a, b, y, mode)
call vmdpowri(n, a, inca, b, incb, y, incy, mode)
Include Files
mkl_vml.f90
Input Parameters
Name |
Type |
Description |
|---|---|---|
n |
INTEGER |
Specifies the number of elements to be calculated. |
a, b |
REAL for vsPowr REAL for vmsPowr DOUBLE PRECISION for vdPowr DOUBLE PRECISION for vmdPowr |
Pointers to arrays containing the input vectors a and b . |
inca , incb , incy |
INTEGER, INTENT(IN) |
Specifies increments for the elements of a , b , and y . |
mode |
INTEGER (KIND=8) |
Overrides the 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. |
Output Parameters
Name |
Type |
Description |
|---|---|---|
y |
REAL for vsPowr REAL for vmsPowr DOUBLE PRECISION for vdPowr DOUBLE PRECISION for vmdPowr |
Pointer to an array containing the output vector y . |
Description
The v?Powr function raises each element of vector a by the corresponding element of vector b . The elements of a are all nonnegative ( ai ≥ 0).
Precision Overflow Thresholds for Real Function v?Powr
Data Type |
Threshold Limitations on Input Parameters |
|---|---|
single precision |
ai < \((\text{FLT\_MAX})^{1/b_i}\) |
double precision |
ai < \((\text{DBL\_MAX})^{1/b_i}\) |
Special values and VM Error Status treatment for v?Powr function are the same as for v?Pow , unless otherwise indicated in this table:
Special values for Real Function v?Powr(x)
Argument 1 |
Argument 2 |
Result |
VM Error Status |
Exception |
|
|---|---|---|---|---|---|
x < 0 |
any value y |
NAN |
VML_STATUS_ERRDOM |
INVALID |
|
0 < x < ∞ |
± 0 |
1 |
|||
± 0 |
|
|
|||
± 0 |
|
|
|||
± 0 |
y > 0 |
+0 |
|||
1 |
|
1 |
|||
± 0 |
± 0 |
NAN |
|||
|
± 0 |
NAN |
|||
1 |
|
NAN |
|||
x ≥ 0 |
NAN |
NAN |
|||
NAN |
any value y |
NAN |
|||
0 < x <1 |
|
|
|||
x > 1 |
|
+0 |
|||
0 ≤ x < 1 |
|
+0 |
|||
x > 1 |
|
|
|||
|
x < +0 |
+0 |
|||
|
x > +0 |
|
|||
QNAN |
QNAN |
QNAN |
VML_STATUS_ERRDOM |
||
QNAN |
SNAN |
QNAN |
VML_STATUS_ERRDOM |
INVALID |
|
SNAN |
QNAN |
QNAN |
VML_STATUS_ERRDOM |
INVALID |
|
SNAN |
SNAN |
QNAN |
VML_STATUS_ERRDOM |
INVALID |