Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
vslConvExec1D/vslCorrExec1D
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  |  
      INTEGER*4 task(2) for vslscorrexec1d, vsldcorrexec1d, vslccorrexec1d, vslzcorrexec1d TYPE(VSL_CONV_TASK) for vslsconvexec1d, vsldconvexec1d, vslcconvexec1d, vslzconvexec1d TYPE(VSL_CORR_TASK) for vslscorrexec1d, vsldcorrexec1d, vslccorrexec1d, vslzcorrexec1d VSLCorrTaskPtr for vslsCorrExec1D, vsldCorrExec1D, vslcCorrExec1D, vslzCorrExec1D  |  
      Pointer to the task descriptor.  |  
     
x, y  |  
      REAL*8 for vsldconvexec1d and vsldcorrexec1d, COMPLEX*8 forvslcconvexec1d and vslccorrexec1d, COMPLEX*16 forvslzconvexec1d and vslzcorrexec1d REAL(KIND=4), DIMENSION(*) for vslsconvexec1d and vslscorrexec1d, REAL(KIND=8), DIMENSION(*) for vsldconvexec1d and vsldcorrexec1d, COMPLEX(KIND=4), DIMENSION (*) forvslcconvexec1d and vslccorrexec1d, 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 stride parameters. | 
Output Parameters
Name  |  
      Type  |  
      Description  |  
     
|---|---|---|
z  |  
      REAL*8 for vsldconvexec1d and vsldcorrexec1d, COMPLEX*8 forvslcconvexec1d and vslccorrexec1d, COMPLEX*16 forvslzconvexec1d and vslzcorrexec1d REAL(KIND=4), DIMENSION(*) for vslsconvexec1d and vslscorrexec1d, REAL(KIND=8), DIMENSION(*) for vsldconvexec1d and vsldcorrexec1d, COMPLEX(KIND=4), DIMENSION (*) forvslcconvexec1d and vslccorrexec1d, 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 vslConvExec1D/vslCorrExec1D 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.