Exec

Computes convolution or correlation for multidimensional case.

Syntax

Fortran:

status = vslsconvexec(task, x, xstride, y, ystride, z, zstride)

status = vsldconvexec(task, x, xstride, y, ystride, z, zstride)

status = vslcconvexec(task, x, xstride, y, ystride, z, zstride)

status = vslzconvexec(task, x, xstride, y, ystride, z, zstride)

status = vslscorrexec(task, x, xstride, y, ystride, z, zstride)

status = vsldcorrexec(task, x, xstride, y, ystride, z, zstride)

status = vslccorrexec(task, x, xstride, y, ystride, z, zstride)

status = vslzcorrexec(task, x, xstride, y, ystride, z, zstride)

C:

status = vslsConvExec(task, x, xstride, y, ystride, z, zstride);

status = vsldConvExec(task, x, xstride, y, ystride, z, zstride);

status = vslcConvExec(task, x, xstride, y, ystride, z, zstride);

status = vslzConvExec(task, x, xstride, y, ystride, z, zstride);

status = vslsCorrExec(task, x, xstride, y, ystride, z, zstride);

status = vsldCorrExec(task, x, xstride, y, ystride, z, zstride);

status = vslcCorrExec(task, x, xstride, y, ystride, z, zstride);

status = vslzCorrExec(task, x, xstride, y, ystride, z, zstride);

Include Files

The FORTRAN 77 interfaces are specified in the mkl_vsl.f77 include file, the Fortran 90 interfaces are specified in the mkl_vsl.f90 include file, and the C interfaces are specified in the mkl_vsl_functions.h include file.

Input Parameters

Name

Type

Description

task

FORTRAN 77: INTEGER*4 task(2) for vslsconvexec, vsldconvexec, vslcconvexec, vslzconvexec

INTEGER*4 task(2) for vslscorrexec, vsldcorrexec, vslccorrexec, vslzcorrexec

Fortran 90: TYPE(VSL_CONV_TASK) for vslsconvexec, vsldconvexec, vslcconvexec, vslzconvexec

TYPE(VSL_CORR_TASK) for vslscorrexec, vsldcorrexec, vslccorrexec, vslzcorrexec

C: VSLConvTaskPtr for vslsConvExec, vsldConvExec, vslcConvExec, vslzConvExec

VSLCorrTaskPtr for vslsCorrExec, vsldCorrExec, vslcCorrExec, vslzCorrExec

Pointer to the task descriptor

x, y

FORTRAN 77: REAL*4 for vslsconvexec and vslscorrexec,

REAL*8 for vsldconvexec and vsldcorrexec,

COMPLEX*8 forvslcconvexec and vslccorrexec,

COMPLEX*16 forvslzconvexec and vslzcorrexec

Fortran 90: REAL(KIND=4), DIMENSION(*) for vslsconvexec and vslscorrexec,

REAL(KIND=8), DIMENSION(*) for vsldconvexec and vsldcorrexec,

COMPLEX(KIND=4), DIMENSION (*) forvslcconvexec and vslccorrexec,

COMPLEX(KIND=8), DIMENSION (*) for vslzconvexec and vslzcorrexec

C: const float[] for vslsConvExec and vslsCorrExec,

const double[] for vsldConvExec and vsldCorrExec,

const MKL_Complex8[] for vslcConvExec and vslcCorrExec,

const MKL_Complex16[] for vslzConvExec and vslzCorrExec

Pointers to arrays containing input data. See Data Allocation for more information.

xstride, ystride, zstride

FORTRAN 77: INTEGER

Fortran 90: INTEGER, DIMENSION (*)

C: const int[]

Strides for input and output data. For more information, see stride parameters.

Output Parameters

Name

Type

Description

z

FORTRAN 77: REAL*4 for vslsconvexec and vslscorrexec,

REAL*8 for vsldconvexec and vsldcorrexec,

COMPLEX*8 forvslcconvexec and vslccorrexec,

COMPLEX*16 forvslzconvexec and vslzcorrexec

Fortran 90: REAL(KIND=4), DIMENSION(*) for vslsconvexec and vslscorrexec,

REAL(KIND=8), DIMENSION(*) for vsldconvexec and vsldcorrexec,

COMPLEX(KIND=4), DIMENSION (*) forvslcconvexec and vslccorrexec,

COMPLEX(KIND=8), DIMENSION (*) for vslzconvexec and vslzcorrexec

C: const float[] for vslsConvExec and vslsCorrExec,

const double[] for vsldConvExec and vsldCorrExec,

const MKL_Complex8[] for vslcConvExec and vslcCorrExec,

const MKL_Complex16[] for vslzConvExec and vslzCorrExec

Pointer to the array that stores output data. See Data Allocation for more information.

status

FORTRAN 77: INTEGER

Fortran 90: INTEGER

C: int

Set to VSL_STATUS_OK if the task is executed successfully or set to non-zero error code otherwise.

Description

Each of the Exec routines computes convolution or correlation of the data provided by the arrays x and y and then stores the results in the array z. Parameters of the operation are read from the task descriptor created previously by a corresponding NewTask constructor and pointed to by task. If task is NULL, no operation is done.

The stride parameters xstride, ystride, and zstride specify the physical location of the input and output data in the arrays x, y, and z, respectively. In a one-dimensional case, stride is an interval between locations of consecutive elements of the array. For example, if the value of the parameter zstride is s, then only every sth element of the array z will be used to store the output data. The stride value must be positive or negative but not zero.


Submit feedback on this help topic

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