Computes a to the power b for elements of two vectors, where the elements of vector argument a are all non-negative.
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)
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 for possible values and their description. |
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. |
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).
| Data Type | Threshold Limitations on Input Parameters |
|---|---|
| single precision | ai < (FLT_MAX)1/bi |
| double precision | ai < (DBL_MAX)1/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:
| Argument 1 | Argument 2 | Result | VM Error Status | Exception |
|---|---|---|---|---|
| x < 0 | any value y | NAN | VML_STATUS_ERRDOM | INVALID |
| 0 < x < ∞ | ±0 | 1 | ||
| ±0 | -∞ < y < 0 | +∞ | ||
| ±0 | -∞ | +∞ | ||
| ±0 | y > 0 | +0 | ||
| 1 | -∞ < y < ∞ | 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 |