Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
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 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).
| 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 |