v?Powx

Raises each element of a vector to the constant power.

Syntax

Fortran:

call vspowx( n, a, b, y )

call vmspowx( n, a, b, y, mode )

call vdpowx( n, a, b, y )

call vmdpowx( n, a, b, y, mode )

call vcpowx( n, a, b, y )

call vmcpowx( n, a, b, y, mode )

call vzpowx( n, a, b, y )

call vmzpowx( n, a, b, y, mode )

C:

vsPowx( n, a, b, y );

vmsPowx( n, a, b, y, mode );

vdPowx( n, a, b, y );

vmdPowx( n, a, b, y, mode );

vcPowx( n, a, b, y );

vmcPowx( n, a, b, y, mode );

vzPowx( n, a, b, y );

vmzPowx( n, a, b, y, mode );

Include Files

The FORTRAN 77 interfaces are specified in the mkl_vml.f77 include file, the Fortran 95 interfaces are specified in the mkl_vml.f90 include file, and the C interfaces are specified in the mkl_vml_functions.h include file.

Input Parameters

Name

Type

Description

n

FORTRAN 77: INTEGER

Fortran 90: INTEGER, INTENT(IN)

C: const int

Number of elements to be calculated.

a

FORTRAN 77: REAL for vspowx, vmspowx

DOUBLE PRECISION for vdpowx, vmdpowx

COMPLEX for vcpowx, vmcpowx

DOUBLE COMPLEX for vzpowx, vmzpowx

Fortran 90: REAL, INTENT(IN) for vspowx, vmspowx

DOUBLE PRECISION, INTENT(IN) for vdpowx, vmdpowx

COMPLEX, INTENT(IN) for vcpowx, vmcpowx

DOUBLE COMPLEX, INTENT(IN) for vzpowx, vmzpowx

C: const float* for vsPowx, vmsPowx

const double* for vdPowx, vmdPowx

const MKL_Complex8* for vcPowx, vmcPowx

const MKL_Complex16* for vzPowx, vmzPowx

FORTRAN: Array a that specifies the input vector

C: Pointer to an array that contains the input vector a.

b

FORTRAN 77: REAL for vspowx, vmspowx

DOUBLE PRECISION for vdpowx, vmdpowx

COMPLEX for vcpowx, vmcpowx

DOUBLE COMPLEX for vzpowx, vmzpowx

Fortran 90: REAL, INTENT(IN) for vspowx, vmspowx

DOUBLE PRECISION, INTENT(IN) for vdpowx, vmdpowx

COMPLEX, INTENT(IN) for vcpowx, vmcpowx

DOUBLE COMPLEX, INTENT(IN) for vzpowx, vmzpowx

C: const float* for vsPowx, vmsPowx

const double* for vdPowx, vmdPowx

const MKL_Complex8* for vcPowx, vmcPowx

const MKL_Complex16* for vzPowx, vmzPowx

FORTRAN: Scalar value b that is the constant power.

C: Constant value for power b.

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

Precision overflow thresholds for the complex v?Powx function are beyond the scope of this document.

Output Parameters

Name

Type

Description

y

FORTRAN 77: REAL for vspowx, vmspowx

DOUBLE PRECISION for vdpowx, vmdpowx

COMPLEX for vcpowx, vmcpowx

DOUBLE COMPLEX for vzpowx, vmzpowx

Fortran 90: REAL, INTENT(OUT) for vspowx, vmspowx

DOUBLE PRECISION, INTENT(OUT) for vdpowx, vmdpowx

COMPLEX, INTENT(OUT) for vcpowx, vmcpowx

DOUBLE COMPLEX, INTENT(OUT) for vzpowx, vmzpowx

C: float* for vsPowx, vmsPowx

double* for vdPowx, vmdPowx

MKL_Complex8* for vcPowx, vmcPowx

MKL_Complex16* for vzPowx, vmzPowx

FORTRAN: Array that specifies the output vector y.

C: Pointer to an array that contains the output vector y.

Description

The v?Powx function raises each element of a vector to the constant power.

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

The complex function v(c/z)Powx has no input range limitations.

Special values are the same as for the v?Pow function.


Submit feedback on this help topic

Copyright © 1994 - 2010, Intel Corporation. All rights reserved.