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 < (FLT_MAX) 1/ :code:`bi` |
double precision |
ai < (DBL_MAX) 1/ :code:`bi` |
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 |