Computes convolution or correlation for multidimensional case.
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);
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.
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. |
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. |
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.
Copyright © 1994 - 2011, Intel Corporation. All rights reserved.