# Exec1D

Computes convolution or correlation for one-dimensional case.

## Syntax

Fortran:

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

status = vsldconvexec1d(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)

C:

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

status = vsldConvExec1D(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);

## Description

Each of the Exec1D 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 NewTask1D constructor and pointed to by task. If task is NULL, no operation is done.

## Input Parameters

Name | Type | Description
--- | --- | ---
task | FORTRAN: TYPE(VSL_CONV_TASK) for vslsconvexec1d and vsldconvexec1d TYPE(VSL_CORR_TASK) for vslscorrexec1d and vsldcorrexec1d C: VSLConvTaskPtr for vslsConvExec1D and vsldConvExec1D VSLCorrTaskPtr for vslsCorrExec1D and vsldCorrExec1D | Pointer to the task descriptor.
x, y | FORTRAN: REAL(KIND=4), DIMENSION(*) for vslsconvexec1d and vslscorrexec1d REAL(KIND=8), DIMENSION(*) for vsldconvexec1d and vsldcorrexec1d C: float[] for vslsConvExec1D and vslsCorrExec1D double[] for vsldConvExe1D and vsldCorrExec1D | Pointers to arrays containing input data. See Data Allocation for more information.
xstride, ystride, zstride | FORTRAN: INTEGER C: int | Strides for input and output data. For more information, see stride parameters.

## Output Parameters

Name | Type | Description
--- | --- | ---
z | FORTRAN: REAL(KIND=4), DIMENSION(*) for vslsconvexec1d and vslscorrexec1d REAL(KIND=8), DIMENSION(*) for vsldconvexec1d and vsldcorrexec1d C: float[] for vslsConvExec1D and vslsCorrExec1D double[] for vsldConvExec1D and vsldCorrExec1D | Pointer to the array that stores output data. See Data Allocation for more information.
status | FORTRAN: INTEGER C: int | Set to VSL_STATUS_OK if the task is executed successfully or set to non-zero error code otherwise.

Parent topic: Task Execution Routines