Lines Matching full:assertions
3 /** \page TopicAssertions Assertions
7 \section PlainAssert Assertions
11 \subsection RedefineAssert Redefining assertions
22 \subsection DisableAssert Disabling assertions
24 Assertions cost run time and can be turned off. You can suppress eigen_assert by defining \c EIGEN_NO_DEBUG \b before including Eigen headers. \c EIGEN_NO_DEBUG is undefined by default unless \c NDEBUG is defined.
26 \section StaticAssert Static assertions
28 Static assertions are not standardized until C++11. However, in the Eigen library, there are many conditions can and should be detectedat compile time. For instance, we use static assertions to prevent the code below from compiling.
35 Static assertions are defined in StaticAssert.h. If there is native static_assert, we use it. Otherwise, we have implemented an assertion macro that can show a limited range of messages.
37 One can easily come up with static assertions without messages, such as:
67 \subsection DerivedStaticAssert Derived static assertions
77 Because Eigen handles both fixed-size and dynamic-size expressions, some conditions cannot be clearly determined at compile time. We classify them into strict assertions and permissive assertions.
79 \subsubsection StrictAssertions Strict assertions
81 These assertions fail if the condition <b>may not</b> be met. For example, MatrixXd may not be a vector, so it fails EIGEN_STATIC_ASSERT_VECTOR_ONLY.
87 \subsubsection PermissiveAssertions Permissive assertions
89 These assertions fail if the condition \b cannot be met. For example, MatrixXd and Matrix4d may have the same size, so they pass EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE.
97 \subsection DisableStaticAssert Disabling static assertions
99 If \c EIGEN_NO_STATIC_ASSERT is defined, static assertions turn into <tt>eigen_assert</tt>'s, working like: