mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Document EIGEN_NO_DEBUG macro.
I needed some doxygen tricks to get this to work, so it may not be worth it.
This commit is contained in:
@@ -32,7 +32,13 @@
|
||||
// then include this file where all our macros are defined. It's really important to do it first because
|
||||
// it's where we do all the alignment settings (platform detection and honoring the user's will if he
|
||||
// defined e.g. EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization.
|
||||
#include "src/Core/util/Macros.h"
|
||||
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
||||
#include "src/Core/util/Macros.h"
|
||||
#else
|
||||
namespace Eigen { // for some reason Doxygen needs this namespace
|
||||
#include "src/Core/util/Macros.h"
|
||||
}
|
||||
#endif
|
||||
|
||||
// if alignment is disabled, then disable vectorization. Note: EIGEN_ALIGN is the proper check, it takes into
|
||||
// account both the user's will (EIGEN_DONT_ALIGN) and our own platform checks
|
||||
|
||||
@@ -109,6 +109,19 @@
|
||||
|
||||
#define EIGEN_DEBUG_VAR(x) std::cerr << #x << " = " << x << std::endl;
|
||||
|
||||
#ifdef EIGEN_PARSED_BY_DOXYGEN
|
||||
/** \def EIGEN_NO_DEBUG
|
||||
* \ingroup Core_Module
|
||||
* \brief If defined, Eigen's assertions are disabled.
|
||||
* \details Disabling run-time assertions improves the performance, but it is dangerous because the
|
||||
* assertions guard against programming errors. By default, the EIGEN_NO_DEBUG macro is not defined and
|
||||
* Eigen's run-time assertions are thus enabled. However, if the NDEBUG macro is defined (this is a
|
||||
* standard C++ macro which disables all asserts), then the EIGEN_NO_DEBUG macro will also be defined, and
|
||||
* so Eigen's assertions will also be disabled.
|
||||
*/
|
||||
#define EIGEN_NO_DEBUG
|
||||
#endif
|
||||
|
||||
#ifdef NDEBUG
|
||||
# ifndef EIGEN_NO_DEBUG
|
||||
# define EIGEN_NO_DEBUG
|
||||
|
||||
Reference in New Issue
Block a user