Go to the documentation of this file.
20 #ifndef LIBMESH_SLEPC_MACRO_H
21 #define LIBMESH_SLEPC_MACRO_H
24 #include "libmesh/libmesh_config.h"
28 #ifdef LIBMESH_HAVE_SLEPC
33 #define SLEPC_VERSION_LESS_THAN(major,minor,subminor) \
34 ((LIBMESH_DETECTED_SLEPC_VERSION_MAJOR < (major) || \
35 (LIBMESH_DETECTED_SLEPC_VERSION_MAJOR == (major) && (LIBMESH_DETECTED_SLEPC_VERSION_MINOR < (minor) || \
36 (LIBMESH_DETECTED_SLEPC_VERSION_MINOR == (minor) && \
37 LIBMESH_DETECTED_SLEPC_VERSION_SUBMINOR < (subminor))))) ? 1 : 0)
40 #if !defined(LIBMESH_USE_COMPLEX_NUMBERS) && SLEPC_VERSION_LESS_THAN(3,0,0)
41 # define EXTERN_C_FOR_SLEPC_BEGIN extern "C" {
42 # define EXTERN_C_FOR_SLEPC_END }
44 # define EXTERN_C_FOR_SLEPC_BEGIN
45 # define EXTERN_C_FOR_SLEPC_END
48 #if SLEPC_VERSION_RELEASE && SLEPC_VERSION_LESS_THAN(3,1,1)
49 # define LibMeshEPSDestroy(x) EPSDestroy(*(x))
51 # define LibMeshEPSDestroy(x) EPSDestroy(x)
54 #endif // #if LIBMESH_HAVE_SLEPC
55 #endif // LIBMESH_SLEPC_MACRO_H