Preprocessor directives module
Preprocessor directives defined by Rodin.
Defines
- #define RODIN_VERSION
- Rodin version string.
- #define RODIN_VERSION_MAJOR
- Rodin major version number.
- #define RODIN_VERSION_MINOR
- Rodin minor version number.
- #define RODIN_VERSION_PATCH
- Rodin patch version number.
- #define RODIN_VERSION_CODE
- Encoded Rodin version number.
- #define RODIN_WITH_PY
- Indicates if Rodin is built with Python support.
- #define RODIN_WITH_PLOT
- Indicates if Rodin::Plot is built.
- #define RODIN_USE_MPI
- Indicates if Rodin is built with MPI support.
- #define RODIN_USE_OPENMP
- Indicates if Rodin is built with OpenMP support.
- #define RODIN_USE_UMFPACK
- Indicates if Rodin is built with SuiteSparse support.
- #define RODIN_USE_PARU
- Indicates if Rodin is built with SuiteSparse:ParU support.
- #define RODIN_USE_MUMPS
- Indicates if Rodin is built with MUMPS support.
- #define RODIN_USE_SPQR
- Indicates if Rodin is built with SuiteSparse support.
- #define RODIN_USE_CHOLMOD
- Indicates if Rodin is built with SuiteSparse support.
- #define RODIN_SILENCE_WARNINGS
- Indicates if Rodin warnings are silenced.
- #define RODIN_SILENCE_EXCEPTIONS
- Indicates if Rodin exceptions are silenced.
- #define RODIN_RESOURCES_DIR
- Indicates the Rodin resources directory.
- #define RODIN_THIRD_PARTY_DIR
- Indicates the Rodin third-party source directory.
- #define RODIN_THREAD_SAFE
- Indicates if Rodin is built with thread safety enabled.
- #define RODIN_MULTITHREADED
- Indicates if Rodin supports multithreading.
- #define RODIN_USE_APPLE_ACCELERATE
- Indicates if Rodin is built with Apple Accelerate support.
- #define RODIN_USE_SCOTCH
- Indicates if Rodin is built with Scotch support.
- #define RODIN_MAXIMAL_SPACE_DIMENSION
- Indicates the maximal space dimension.
- #define RODIN_MAXIMUM_POLYTOPE_VERTICES
- Maximum number of vertices supported by a polytope.
- #define RODIN_GEOMETRY_REQUIRE_INCIDENCE(mesh, d, dp)
- Requires connectivity to be computed.
- #define RODIN_GEOMETRY_MESH_REQUIRE_INCIDENCE(d, dp)
- Requires connectivity (for use in member functions).
- #define RODIN_GEOMETRY_MESH_REQUIRE_SUBMESH()
- Requires mesh to be a SubMesh.
- #define RODIN_QF_GRUNDMANNMOLLER_MAX_S
- Maximum value permitted for the parameter in Grundmann-Moller quadrature.
- #define RODIN_QF_GRUNDMANNMOLLER_MAX_ORDER
- Maximum degree permitted for Grundmann-Moller quadrature.
- #define RODIN_VARIATIONAL_QF_POLYTOPE_QUADRATURE_FORMULA_DEFAULT_ORDER
- Default order for PolytopeQuadratureFormula.
- #define RODIN_VARIATIONAL_H1ELEMENT_MAX_VECTOR_DIMENSION
- Indicates the maximum vector dimension a H1Element can support.
Define documentation
#define RODIN_VERSION
#include <Rodin/Configure.h.in>
Rodin version string.
#define RODIN_VERSION_MAJOR
#include <Rodin/Configure.h.in>
Rodin major version number.
#define RODIN_VERSION_MINOR
#include <Rodin/Configure.h.in>
Rodin minor version number.
#define RODIN_VERSION_PATCH
#include <Rodin/Configure.h.in>
Rodin patch version number.
#define RODIN_VERSION_CODE
#include <Rodin/Configure.h.in>
Encoded Rodin version number.
#define RODIN_WITH_PY
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with Python support.
Utilization
#ifndef RODIN_WITH_PY // Code depending on Python support #endif
#define RODIN_WITH_PLOT
#include <Rodin/Configure.h.in>
Indicates if Rodin::Plot is built.
#ifndef RODIN_WITH_PLOT // Code depending on Rodin::Plot support #endif
#define RODIN_USE_MPI
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with MPI support.
Utilization
#ifndef RODIN_USE_MPI // Code depending on MPI support #endif
#define RODIN_USE_OPENMP
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with OpenMP support.
Utilization
#ifndef RODIN_USE_OPENMP // Code depending on OpenMP support #endif
#define RODIN_USE_UMFPACK
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with SuiteSparse support.
Utilization
#ifndef RODIN_USE_UMFPACK // Code depending on UMFPACK #endif
#define RODIN_USE_PARU
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with SuiteSparse:ParU support.
Utilization
#ifndef RODIN_USE_PARU // Code depending on ParU #endif
#define RODIN_USE_MUMPS
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with MUMPS support.
Utilization
#ifndef RODIN_USE_MUMPS // Code depending on MUMPS #endif
#define RODIN_USE_SPQR
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with SuiteSparse support.
Utilization
#ifndef RODIN_USE_SPQR // Code depending on SPQR #endif
#define RODIN_USE_CHOLMOD
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with SuiteSparse support.
Utilization
#ifndef RODIN_USE_CHOLMOD // Code depending on CHOLMOD #endif
#define RODIN_SILENCE_WARNINGS
#include <Rodin/Configure.h.in>
Indicates if Rodin warnings are silenced.
#define RODIN_SILENCE_EXCEPTIONS
#include <Rodin/Configure.h.in>
Indicates if Rodin exceptions are silenced.
If defined, this directive will prevent Rodin from outputting the error messages. It does not prevent the exception from being thrown.
#define RODIN_RESOURCES_DIR
#include <Rodin/Configure.h.in>
Indicates the Rodin resources directory.
Utilization
std::cout << RODIN_RESOURCES_DIR << std::endl;
#define RODIN_THIRD_PARTY_DIR
#include <Rodin/Configure.h.in>
Indicates the Rodin third-party source directory.
Utilization
std::cout << RODIN_THIRD_PARTY_DIR << std::endl;
#define RODIN_THREAD_SAFE
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with thread safety enabled.
Utilization
#ifdef RODIN_THREAD_SAFE // Code that requires thread safety features. #endif
#define RODIN_MULTITHREADED
#include <Rodin/Configure.h.in>
Indicates if Rodin supports multithreading.
Utilization
#ifdef RODIN_MULTITHREADED // Code that leverages multithreading capabilities. #endif
#define RODIN_USE_APPLE_ACCELERATE
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with Apple Accelerate support.
Utilization
#ifdef RODIN_USE_APPLE_ACCELERATE // Code that uses the Apple Accelerate framework for optimized computations. #endif
#define RODIN_USE_SCOTCH
#include <Rodin/Configure.h.in>
Indicates if Rodin is built with Scotch support.
Utilization
#ifdef RODIN_USE_SCOTCH // Code that uses the Scotch library for partioning. #endif
#define RODIN_MAXIMAL_SPACE_DIMENSION
#include <Rodin/Configure.h.in>
Indicates the maximal space dimension.
#define RODIN_MAXIMUM_POLYTOPE_VERTICES
#include <Rodin/Configure.h.in>
Maximum number of vertices supported by a polytope.
#define RODIN_GEOMETRY_REQUIRE_INCIDENCE(mesh,
d,
dp)
#include <Rodin/Geometry/Mesh.h>
Requires connectivity to be computed.
| Parameters | |
|---|---|
| mesh | Mesh instance to check |
| d | Source dimension |
| dp | Target dimension |
Throws an exception if the specified connectivity relation has not been computed for the mesh. Connectivity must be explicitly computed using mesh.getConnectivity().compute(d, dp) before operations that depend on it.
#define RODIN_GEOMETRY_MESH_REQUIRE_INCIDENCE(d,
dp)
#include <Rodin/Geometry/Mesh.h>
Requires connectivity (for use in member functions).
| Parameters | |
|---|---|
| d | Source dimension |
| dp | Target dimension |
Throws an exception if the specified connectivity relation has not been computed. This macro is for use inside mesh member functions.
#define RODIN_GEOMETRY_MESH_REQUIRE_SUBMESH()
#include <Rodin/Geometry/Mesh.h>
Requires mesh to be a SubMesh.
Throws an exception if the mesh is not a SubMesh instance, preventing invalid downcasting operations.
#define RODIN_QF_GRUNDMANNMOLLER_MAX_S
#include <Rodin/QF/GrundmannMoller.h>
Maximum value permitted for the parameter in Grundmann-Moller quadrature.
#define RODIN_QF_GRUNDMANNMOLLER_MAX_ORDER
#include <Rodin/QF/GrundmannMoller.h>
Maximum degree permitted for Grundmann-Moller quadrature.
The degree is given by where .
#define RODIN_VARIATIONAL_QF_POLYTOPE_QUADRATURE_FORMULA_DEFAULT_ORDER
Default order for PolytopeQuadratureFormula.
This macro defines the default polynomial degree of exactness when constructing a PolytopeQuadratureFormula without specifying an order.
#define RODIN_VARIATIONAL_H1ELEMENT_MAX_VECTOR_DIMENSION
#include <Rodin/Variational/H1/H1Element.h>
Indicates the maximum vector dimension a H1Element can support.