# Data Types

All convolution or correlation routines use the following types for specifying data objects:

Type | Data Object
--- | ---
FORTRAN: TYPE(VSL_CONV_TASK) C: VSLConvTaskPtr | Pointer to a task descriptor for convolution
FORTRAN: TYPE(VSL_CORR_TASK) C: VSLCorrTaskPtr | Pointer to a task descriptor for correlation
FORTRAN: REAL(KIND=4) C: float | Input/output user data in single precision
FORTRAN: REAL(KIND=8) C: double | Input/output user data in double precision
FORTRAN: INTEGER C: int | All other data

Generic integer type (without specifying the byte size) is used for all integer data.

### Note

The actual size of the generic integer type is platform-dependent. The appropriate byte size for integers must be chosen at the stage of compiling your software.

Parent topic: Convolution and Correlation