Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
vslconvexectask1d / vslcorrexectask1d
Computes convolution or correlation for one-dimensional case.
Syntax
status = vslsconvexec1d(task, x, xstride, y, ystride, z, zstride)
status = vsldconvexec1d(task, x, xstride, y, ystride, z, zstride)
status = vslcconvexec1d(task, x, xstride, y, ystride, z, zstride)
status = vslzconvexec1d(task, x, xstride, y, ystride, z, zstride)
status = vslscorrexec1d(task, x, xstride, y, ystride, z, zstride)
status = vsldcorrexec1d(task, x, xstride, y, ystride, z, zstride)
status = vslccorrexec1d(task, x, xstride, y, ystride, z, zstride)
status = vslzcorrexec1d(task, x, xstride, y, ystride, z, zstride)
Include Files
mkl.fi, mkl_vsl.f90
Input Parameters
Name |
Type |
Description |
|---|---|---|
task |
Fortran 77: INTEGER*4 task(2) for vslscorrexec1d, vsldcorrexec1d, vslccorrexec1d, vslzcorrexec1d and vslsconvexec1d, vsldconvexec1d, vslcconvexec1d, vslzconvexec1d Fortran 90: TYPE(VSL_CONV_TASK) for vslsconvexec1d, vsldconvexec1d, vslcconvexec1d, vslzconvexec1d Fortran 90: TYPE(VSL_CORR_TASK) for vslscorrexec1d, vsldcorrexec1d, vslccorrexec1d, vslzcorrexec1d |
Pointer to the task descriptor. |
x, y |
Fortran 77: REAL*4 for vslsconvexec1d and vslscorrexec1d, Fortran 77: REAL*8 for vsldconvexec1d and vsldcorrexec1d, Fortran 77: COMPLEX*8 for vslcconvexec1d and vslccorrexec1d, Fortran 77: COMPLEX*16 for vslzconvexec1d and vslzcorrexec1d Fortran 90: REAL(KIND=4), DIMENSION(*) for vslsconvexec1d and vslscorrexec1d, Fortran 90: REAL(KIND=8), DIMENSION(*) for vsldconvexec1d and vsldcorrexec1d, Fortran 90: COMPLEX(KIND=4), DIMENSION (*) for vslcconvexec1d and vslccorrexec1d, Fortran 90: COMPLEX(KIND=8), DIMENSION (*) for vslzconvexec1d and vslzcorrexec1d |
Pointers to arrays containing input data. See Data Allocation for more information. |
xstride, ystride, zstride |
INTEGER |
Strides for input and output data. For more information, see the stride parameters in vslconvnewtaskx/vslcorrnewtaskx. |
Output Parameters
Name |
Type |
Description |
|---|---|---|
z |
Fortran 77: REAL*4 for vslsconvexec1d and vslscorrexec1d, Fortran 77: REAL*8 for vsldconvexec1d and vsldcorrexec1d, Fortran 77: COMPLEX*8 for vslcconvexec1d and vslccorrexec1d, Fortran 77: COMPLEX*16 for vslzconvexec1d and vslzcorrexec1d Fortran 90: REAL(KIND=4), DIMENSION(*) for vslsconvexec1d and vslscorrexec1d, Fortran 90: REAL(KIND=8), DIMENSION(*) for vsldconvexec1d and vsldcorrexec1d, Fortran 90: COMPLEX(KIND=4), DIMENSION (*) for vslcconvexec1d and vslccorrexec1d, Fortran 90: COMPLEX(KIND=8), DIMENSION (*) for vslzconvexec1d and vslzcorrexec1d |
Pointer to the array that stores output data. See Data Allocation for more information. |
status |
INTEGER |
Set to VSL_STATUS_OK if the task is executed successfully or set to non-zero error code otherwise. |
Description
Each of the vslconvexectask1d / vslcorrexectask1d routines computes convolution or correlation of the data provided by the arrays x and y and then stores the results in the array z. These routines represent a special one-dimensional version of the operation, assuming that the value of the parameter dims is 1. Using this version of execution routines can help speed up performance in case of one-dimensional data.
Parameters of the operation are read from the task descriptor created previously by a corresponding vslconvnewtask1d/vslcorrnewtask1d constructor and pointed to by task. If task is NULL, no operation is done.