Checks if the status reflects an error of a predefined class.
Fortran:
Predicate = DftiErrorClass( Status, Error_Class )
C:
predicate = DftiErrorClass( status, error_class );
The Fortran interface is specified in the mkl_dfti.f90 include file and the C interface is specified in the mkl_dfti.h include file.
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). |
Function DftiErrorClass returns a nonzero value (the value of .TRUE. in Fortran) if the status belongs to a predefined error class. Note that direct comparison of a status with a predefined class is an incorrect usage. The correct way to check if a function call was successful is through the use of 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" on a correct use of the status checking functions.
//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
Copyright © 1994 - 2010, Intel Corporation. All rights reserved.