# SetDecimation

Changes the value of the parameter decimation in the convolution or correlation task descriptor.

## Syntax

Fortran:

status = vslconvsetdecimation(task, decimation)

status = vslcorrsetdecimation(task, decimation)

C:

status = vslConvSetDecimation(task, decimation);

status = vslCorrSetDecimation(task, decimation);

## Description

The routine sets the value of the parameter decimation for the operation of convolution or correlation.

This parameter determines how to thin out the mathematical result of convolution or correlation before writing it into the output data array. For example, in a one-dimensional case, if decimation = d >1, only every d-th element of the mathematical result is written to the output array z. In a multidimensional case, decimation is an array of indices and its length is equal to the number of dimensions specified by the parameter dims. For more information about the definition and effect of this parameter, see Data Allocation.

During the initial task descriptor construction, the default value for decimation is undefined and this parameter is not used. Hence, the only way to set and use the decimation parameter is via assigning it some value by one of the SetDecimation routines.

## Input Parameters

Name | Type | Description
--- | --- | ---
task | FORTRAN: TYPE(VSL_CONV_TASK) for vslconvsetdecimation TYPE(VSL_CORR_TASK) for vslcorrsetdecimation C: VSLConvTaskPtr for vslConvSetDecimation VSLCorrTaskPtr for vslCorrSetDecimation | Pointer to the task descriptor.
decimation | FORTRAN: INTEGER, DIMENSION (*) C: int[] | New value of the parameter decimation.

## Output Parameters

Name | Type | Description
--- | --- | ---
status | FORTRAN: INTEGER C: int | Current status of the task.

Parent topic: Task Editors