Checks whether the status reflects an error of a predefined class.
FORTRAN:
predicate = DftiErrorClass( status, error_class )
C:
predicate = DftiErrorClass(status, error_class);
Name |
Type |
Description |
---|---|---|
status |
FORTRAN: INTEGER C: MKL_LONG |
Completion status of an FFT function. |
error_class |
FORTRAN: INTEGER C: MKL_LONG |
Predefined error class. |
Name |
Type |
Description |
---|---|---|
predicate |
FORTRAN: LOGICAL C: MKL_LONG |
Result of checking. |
The FFT interface in Intel MKL provides a set of predefined error classes listed in Table "Predefined Error Classes". They are named constants and have the type INTEGER in Fortran and MKL_LONG in C.
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 of 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 dimensions exceeds 232 -1 (4 bytes). |
The DftiErrorClass function returns a non-zero value in C or the value of .TRUE. in Fortran if the status belongs to a 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.
It is incorrect to directly compare a status with a predefined class.
//Fortran interface INTERFACE DftiErrorClass //Note that the body provided here is to illustrate the different //argument list and types of dummy arguments. The interface //does not guarantee what the actual function names are. //Users can only rely on the function name following the //keyword INTERFACE FUNCTION some_actual_function_8( Status, Error_Class ) LOGICAL some_actual_function_8 INTEGER, INTENT(IN) :: Status, Error_Class END FUNCTION some_actual_function_8 END INTERFACE DftiErrorClass
/* C prototype */ MKL_LONG DftiErrorClass( MKL_LONG , MKL_LONG );