Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

DftiComputeForward

Computes the forward FFT.

Syntax

status = DftiComputeForward(desc_handle, x_inout);

status = DftiComputeForward(desc_handle, x_in, y_out);

status = DftiComputeForward(desc_handle, xre_inout, xim_inout);

status = DftiComputeForward(desc_handle, xre_in, xim_in, yre_out, yim_out);

Input Parameters

Name

Type

Description

desc_handle

DFTI_DESCRIPTOR_HANDLE

FFT descriptor.

x_inout, x_in

Array of type float or double depending on the precision of the transform.

Data to be transformed in case of a real forward domain or, in the case of a complex forward domain in association with FTI_COMPLEX_COMPLEX, set for DFTI_COMPLEX_STORAGE.

xre_inout, xim_inout, xre_in, xim_in

Array of type float or double depending on the precision of the transform.

Real and imaginary parts of the data to be transformed in the case of a complex forward domain.

The suffix in parameter names corresponds to the value of the configuration parameter DFTI_PLACEMENT as follows:

  • _inout to DFTI_INPLACE
  • _in to DFTI_NOT_INPLACE

Output Parameters

Name

Type

Description

y_out

Array of type float or double depending on the precision of the transform.

The transformed data in case of a real backward domain or, in the case of a complex forward domain in association with DFTI_COMPLEX_COMPLEX, set for DFTI_COMPLEX_STORAGE.

xre_inout, xim_inout, yre_out, yim_out

Array of type float or double depending on the precision of the transform.

Real and imaginary parts of the transformed data in the case of a complex forward domain in association with DFTI_REAL_REAL set for DFTI_COMPLEX_STORAGE.

status

MKL_LONG

Function completion status.

The suffix in parameter names corresponds to the value of the configuration parameter DFTI_PLACEMENT as follows:

  • _inout to DFTI_INPLACE
  • _out to DFTI_NOT_INPLACE

Include Files
  • mkl.h
Description

The DftiComputeForward function accepts the descriptor handle parameter and one or more data parameters. Given a successfully configured and committed descriptor, this function computes the forward FFT, that is, the transform with the minus sign in the exponent, δ = -1.

The DFTI_COMPLEX_STORAGE, DFTI_REAL_STORAGE, and DFTI_CONJUGATE_EVEN_STORAGE configuration parameters define the layout of the input and output data and must be properly set in a call to the DftiSetValue function. The forward domain and the precision of the transform are determined by the configuration settings DFTI_FORWARD_DOMAIN and DFTI_PRECISION, which are during construction of the descriptor.

The FFT descriptor must be properly configured prior to the function call. Function calls needed to configure an FFT descriptor for a particular call to an FFT computation function are summarized in Configuring and Computing an FFT in C C++.

The number and types of the data parameters that the function requires may vary depending on the configuration of the descriptor. This variation is accommodated by variable parameters.

The function returns zero when it completes successfully. See Status Checking Functions for more information on the returned status.

Prototype
 
  MKL_LONG DftiComputeForward( DFTI_DESCRIPTOR_HANDLE, void*, ... );