# Pow

Computes a to the power b for elements of two vectors.

## Syntax

Fortran:

call vspow( n, a, b, y )

call vdpow( n, a, b, y )

call vcpow( n, a, b, y )

call vzpow( n, a, b, y )

C:

vsPow( n, a, b, y );

vdPow( n, a, b, y );

vcPow( n, a, b, y );

vzPow( n, a, b, y );

## Input Parameters

Name | Type | Description
--- | --- | ---
n | FORTRAN: INTEGER, INTENT(IN) C: int | Specifies the number of elements to be calculated.
a, b | FORTRAN: REAL, INTENT(IN) for vspow DOUBLE PRECISION, INTENT(IN) for vdpow COMPLEX, INTENT(IN) for vcpow DOUBLE COMPLEX, INTENT(IN) for vzpow C: const float* for vsPow const double* for vdPow const MKL_Complex8* for vcPow const MKL_Complex16* for vzPow | FORTRAN: Arrays, specify the input vectors a and b. C: Pointers to arrays that contain the input vectors a and b.

Precision Overflow Thresholds for Pow Real Function
Data Type | Threshold Limitations on Input Parameters
--- | ---
single precision | `abs(a[i]) < ( FLT_MAX )1/b[i]`
double precision | `abs(a[i]) < ( DBL_MAX )1/b[i]`

### Note

Overflow can occur also in Pow complex function, but the exact formula is beyond the scope of this document.

## Output Parameters

Name | Type | Description
--- | --- | ---
y | FORTRAN: REAL for vspow DOUBLE PRECISION for vdpow COMPLEX for vcpow DOUBLE COMPLEX for vzpow C: float* for vsPow double* for vdPow MKL_Complex8* for vcPow MKL_Complex16* for vzPow | FORTRAN: Array, specifies the output vector y. C: Pointer to an array that contains the output vector y.

## Description

The real function Pow has certain limitations on the input range of a and b parameters. Specifically, if a[i] is positive, then b[i] may be arbitrary. For negative a[i], the value of b[i] must be integer (either positive or negative).

The complex function Pow has no such input range limitations.

Parent topic: Power and Root Functions