# CopyTask

Copies a descriptor for convolution or correlation task.

## Syntax

Fortran:

status = vslconvcopytask(newtask, srctask)

status = vslcorrcopytask(newtask, srctask)

C:

status = vslConvCopyTask(newtask, srctask);

status = vslCorrCopyTask(newtask, srctask);

## Description

If a task object srctask already exists, you can use an appropriate CopyTask routine to make its copy in newtask. After the copy operation, both source and new task objects will become committed (see Overview for information about task commitment). If the source task was not previously committed, the commitment operation for this task is implicitly invoked before copying starts. If an error occurs during source task commitment, the task stores the error code in the status field. If an error occurs during copy operation, the routine returns a NULL pointer instead of a reference to a new task object.

## Input Parameters

Name | Type | Description
--- | --- | ---
srctask | FORTRAN: TYPE(VSL_CONV_TASK) for vslconvcopytask TYPE(VSL_CORR_TASK) for vslcorrcopytask C: VSLConvTaskPtr for vslConvCopyTask VSLCorrTaskPtr for vslCorrCopyTask | Pointer to the source task descriptor.

## Output Parameters

Name | Type | Description
--- | --- | ---
newtask | FORTRAN: TYPE(VSL_CONV_TASK) for vslconvcopytask TYPE(VSL_CORR_TASK) for vslcorrcopytask C: VSLConvTaskPtr* for vslConvCopyTask VSLCorrTaskPtr* for vslCorrCopyTask | Pointer to the new task descriptor.
status | FORTRAN: INTEGER C: int | Current status of the source task.

Parent topic: Task Copy