v?Unpack

Copies elements of a vector with unit increment to an array with specified indexing.

Syntax

FORTRAN:

call vsunpacki( n, a, y, incy )

call vsunpackv( n, a, y, iy )

call vsunpackm( n, a, y, my )

call vdunpacki( n, a, y, incy )

call vdunpackv( n, a, y, iy )

call vdunpackm( n, a, y, my )

call vcunpacki( n, a, y, incy )

call vcunpackv( n, a, y, iy )

call vcunpackm( n, a, y, my )

call vzunpacki( n, a, y, incy )

call vzunpackv( n, a, y, iy )

call vzunpackm( n, a, y, my )

C:

vsUnpackI( n, a, y, incy );

vsUnpackV( n, a, y, iy );

vsUnpackM( n, a, y, my );

vdUnpackI( n, a, y, incy );

vdUnpackV( n, a, y, iy );

vdUnpackM( n, a, y, my );

vcUnpackI( n, a, y, incy );

vcUnpackV( n, a, y, iy );

vcUnpackM( n, a, y, my );

vzUnpackI( n, a, y, incy );

vzUnpackV( n, a, y, iy );

vzUnpackM( n, a, y, my );

Include Files

Input Parameters

Name

Type

Description

n

FORTRAN 77: INTEGER

Fortran 90: INTEGER, INTENT(IN)

C: const int

Specifies the number of elements to be calculated.

a

FORTRAN 77: REAL for vsunpacki, vsunpackv, vsunpackm

DOUBLE PRECISION for vdunpacki, vdunpackv, vdunpackm

COMPLEX for vcunpacki, vcunpackv, vcunpackm

DOUBLE COMPLEX for vzunpacki, vzunpackv, vznpackm

Fortran 90: REAL, INTENT(IN) for vsunpacki, vsunpackv, vsunpackm

DOUBLE PRECISION, INTENT(IN) for vdunpacki, vdunpackv, vdunpackm

COMPLEX, INTENT(IN) for vcunpacki, vcunpackv, vcunpackm

DOUBLE COMPLEX, INTENT(IN) for vzunpacki, vzunpackv, vzunpackm

C: const float* for vsUnpackI, vsUnpackV, vsUnpackM

const double* for vdUnpackI, vdUnpackV, vdUnpackM

const MKL_Complex8* for vcUnpackI, vcUnpackV, vcUnpackM

const MKL_Complex16* for vzUnpackI, vzUnpackV, vzUnpackM

FORTRAN: Array, DIMENSION at least n.

Specifies the input vector a.

C: Specifies the pointer to an array of size at least n that contains the input vector a.

incy

FORTRAN 77: INTEGER for vsunpacki, vdunpacki, vcunpacki, vzunpacki

Fortran 90: INTEGER, INTENT(IN) for vsunpacki, vdunpacki, vcunpacki, vzunpacki

C: const int for vsUnpackI, vdUnpackI, vcUnpackI, vzUnpackI

Specifies the increment for the elements of y.

iy

FORTRAN 77: INTEGER for vsunpackv, vdunpackv, vcunpackv, vzunpackv

Fortran 90: INTEGER, INTENT(IN) for vsunpackv, vdunpackv, vcunpackv, vzunpackv

C: const int* for vsUnpackV, vdUnpackV, vcUnpackV, vzUnpackV

FORTRAN: Array, DIMENSION at least n.

Specifies the index vector for the elements of y.

C: Specifies the pointer to an array of size at least n that contains the index vector for the elements of a.

my

FORTRAN 77: INTEGER for vsunpackm, vdunpackm, vcunpackm, vzunpackm

Fortran 90: INTEGER, INTENT(IN) for vsunpackm, vdunpackm, vcunpackm, vzunpackm

C: const int* for vsUnpackM, vdUnpackM, vcUnpackM, vzUnpackM

FORTRAN: Array, DIMENSION at least n,

Specifies the mask vector for the elements of y.

C: Specifies the pointer to an array of size at least n that contains the mask vector for the elements of a.

Output Parameters

Name

Type

Description

y

FORTRAN 77: REAL for vsunpacki, vsunpackv, vsunpackm

DOUBLE PRECISION for vdunpacki, vdunpackv, vdunpackm

COMPLEX, INTENT(IN) for vcunpacki, vcunpackv, vcunpackm

DOUBLE COMPLEX, INTENT(IN) for vzunpacki, vzunpackv, vzunpackm

Fortran 90: REAL, INTENT(OUT) for vsunpacki, vsunpackv, vsunpackm

DOUBLE PRECISION, INTENT(OUT) for vdunpacki, vdunpackv, vdunpackm

COMPLEX, INTENT(OUT) for vcunpacki, vcunpackv, vcunpackm

DOUBLE COMPLEX, INTENT(OUT) for vzunpacki, vzunpackv, vzunpackm

C: float* for vsUnpackI, vsUnpackV, vsUnpackM

double* for vdUnpackI, vdUnpackV, vdUnpackM

const MKL_Complex8* for vcUnpackI, vcUnpackV, vcUnpackM

const MKL_Complex16* for vzUnpackI, vzUnpackV, vzUnpackM

FORTRAN: Array, DIMENSION

for v?unpacki, at least (1 + (n-1)*incy)

for v?unpackv, at least max( n,max(iy[j]) ),j=0,..., n-1

for v?unpackm, at least n

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

The array must be:

for v?UnpackI, at least (1 + (n-1)*incy) for v?UnpackV, at least max( n,max(ia[j]) ),j=0,..., n-1, for v?UnpackM, at least n.

Submit feedback on this help topic