vslConvExec/vslCorrExec
vslConvExec
/vslCorrExec
Computes convolution or correlation for multidimensional case.
Syntax
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
- mkl.h
Input Parameters
Name | Type | Description |
---|---|---|
task | VSLConvTaskPtr for vslsConvExec , vsldConvExec , vslcConvExec , vslzConvExec VSLCorrTaskPtr for vslsCorrExec , vsldCorrExec , vslcCorrExec , vslzCorrExec | Pointer to the task descriptor |
x , y | 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 | const int[] | Strides for input and output data. For more information, see stride parameters. |
Output Parameters
Name | Type | Description |
---|---|---|
z | 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 | int | Set to VSL_STATUS_OK if the task is executed successfully or set to non-zero error code otherwise. |
Description
Each of the
vslConvExec
/vslCorrExec
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 vslConvNewTask
/vslCorrNewTask
constructor and pointed to by task
. If task
is NULL
, no operation is done.The stride parameters element of the array
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 s
th
z
will be used to store the output data. The stride value must be positive or negative but not zero.