Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 6/24/2024
Public

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

Document Table of Contents

DftiErrorClass

Checks whether the status reflects an error of a predefined class.

Syntax

predicate = DftiErrorClass(status, error_class);

Include Files

  • mkl.h

Input Parameters

Name

Type

Description

status

MKL_LONG

Completion status of a fast Fourier transform (FFT) function.

error_class

MKL_LONG

Predefined error class.

Output Parameters

Name

Type

Description

predicate

MKL_LONG

Result of checking.

Description

The FFT interface in Intel® oneAPI Math Kernel Library (oneMKL) provides a set of predefined error classeslisted in Table "Predefined Error Classes". They are named constants and have the type MKL_LONG.

Predefined Error Classes

Named Constants

Comments

DFTI_NO_ERROR

No error. The zero status belongs to this class.

DFTI_MEMORY_ERROR

Usually associated with memory allocation.

DFTI_INVALID_CONFIGURATION

Invalid settings in one or more configuration parameters.

DFTI_INCONSISTENT_CONFIGURATION

Inconsistent configuration or input parameters.

DFTI_NUMBER_OF_THREADS_ERROR

Number of OMP threads in the computation function is not equal to the number of OMP threads in the initialization stage (commit function).

DFTI_MULTITHREADED_ERROR

Usually associated with a value that OMP routines return in case of errors.

DFTI_BAD_DESCRIPTOR

Descriptor is unusable for computation.

DFTI_UNIMPLEMENTED

Unimplemented legitimate settings; implementation dependent.

DFTI_MKL_INTERNAL_ERROR

Internal library error.

DFTI_1D_LENGTH_EXCEEDS_INT32

Length of one of the dimensions exceeds 232 -1 (4 bytes).

DFTI_1D_MEMORY_EXCEEDS_INT32

Data size of one of the transforms exceeds 231 -1 bytes.

NOTE:

Use DFTI_1D_MEMORY_EXCEEDS_INT32 instead of DFTI_1D_LENGTH_EXCEEDS_INT32 for better accuracy.

The DftiErrorClass function returns a non-zero value if the status belongs to the predefined error class. To check whether a function call was successful, call DftiErrorClass with a specific error class. However, the zero value of the status belongs to the DFTI_NO_ERROR class and thus the zero status indicates successful completion of an operation. See Example "Using Status Checking Functions" for an illustration of correct use of the status checking functions.

NOTE:

It is incorrect to directly compare a status with a predefined class.

Prototype

 
MKL_LONG DftiErrorClass( MKL_LONG , MKL_LONG );