Namespaces | Defines | Functions
Macros.h File Reference

Go to the source code of this file.

Namespaces

namespace  Eigen
 

Namespace containing all symbols from the Eigen library.


namespace  Eigen::internal

Defines

#define EIGEN_ALIGN
#define EIGEN_ALIGN16
#define EIGEN_ALIGN_STATICALLY
#define EIGEN_ALWAYS_INLINE
#define EIGEN_ARCH_WANTS_STACK_ALIGNMENT
#define EIGEN_ASM_COMMENT(X)
#define EIGEN_CAT(a, b)
#define EIGEN_CAT2(a, b)
#define EIGEN_CWISE_PRODUCT_RETURN_TYPE(LHS, RHS)
#define EIGEN_DEBUG_VAR(x)
#define EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
#define EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION
#define EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
#define EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
#define EIGEN_DEPRECATED
#define EIGEN_DONT_INLINE
#define EIGEN_EMPTY
#define EIGEN_FLATTEN_ATTRIB
#define EIGEN_GCC3_OR_OLDER
#define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT
#define EIGEN_GENERIC_PUBLIC_INTERFACE(Derived)
#define EIGEN_GNUC_AT_LEAST(x, y)
#define EIGEN_GNUC_AT_MOST(x, y)
#define EIGEN_IMPLIES(a, b)
#define EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived)
#define EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Derived)
#define eigen_internal_assert(x)
#define EIGEN_LOGICAL_XOR(a, b)
#define EIGEN_MAJOR_VERSION
#define EIGEN_MAKE_CWISE_BINARY_OP(METHOD, FUNCTOR)
#define EIGEN_MAKESTRING(a)
#define EIGEN_MAKESTRING2(a)
#define EIGEN_MINOR_VERSION
#define EIGEN_ONLY_USED_FOR_DEBUG(x)
#define eigen_plain_assert(x)
#define EIGEN_PLAIN_ENUM_MAX(a, b)
#define EIGEN_PLAIN_ENUM_MIN(a, b)
#define EIGEN_SAFE_TO_USE_STANDARD_ASSERT_MACRO
#define EIGEN_SIZE_MAX(a, b)
#define EIGEN_SIZE_MIN_PREFER_DYNAMIC(a, b)
#define EIGEN_SIZE_MIN_PREFER_FIXED(a, b)
#define EIGEN_STRONG_INLINE
#define EIGEN_UNUSED
#define EIGEN_UNUSED_VARIABLE(var)
#define EIGEN_USER_ALIGN16
#define EIGEN_USER_ALIGN_TO_BOUNDARY(n)
#define EIGEN_VERSION_AT_LEAST(x, y, z)
#define EIGEN_WORLD_VERSION

Functions

bool copy_bool (bool b)

Define Documentation

#define EIGEN_ALIGN
#define EIGEN_ALIGN16
#define EIGEN_ASM_COMMENT (   X)
#define EIGEN_CAT (   a,
 
)
#define EIGEN_CAT2 (   a,
 
)
#define EIGEN_CWISE_PRODUCT_RETURN_TYPE (   LHS,
  RHS 
)
#define EIGEN_DEBUG_VAR (   x)

Allows to disable some optimizations which might affect the accuracy of the result. Such optimization are enabled by default, and set EIGEN_FAST_MATH to 0 to disable them. They currently include:

  • single precision Cwise::sin() and Cwise::cos() when SSE vectorization is enabled.
#define EIGEN_DENSE_PUBLIC_INTERFACE (   Derived)
#define EIGEN_EMPTY
#define EIGEN_GENERIC_PUBLIC_INTERFACE (   Derived)

Just a side note. Commenting within defines works only by documenting behind the object (via '!<'). Comments cannot be multi-line and thus we have these extra long lines. What is confusing doxygen over here is that we use '\' and basically have a bunch of typedefs with their documentation in a single line.

#define EIGEN_GNUC_AT_LEAST (   x,
 
)
#define EIGEN_GNUC_AT_MOST (   x,
 
)
#define EIGEN_IMPLIES (   a,
 
)
#define EIGEN_INHERIT_ASSIGNMENT_OPERATORS (   Derived)
#define eigen_internal_assert (   x)
#define EIGEN_LOGICAL_XOR (   a,
 
)
#define EIGEN_MAKE_CWISE_BINARY_OP (   METHOD,
  FUNCTOR 
)
#define EIGEN_MAKESTRING (   a)
#define EIGEN_MAKESTRING2 (   a)
#define EIGEN_ONLY_USED_FOR_DEBUG (   x)
#define eigen_plain_assert (   x)
#define EIGEN_PLAIN_ENUM_MAX (   a,
 
)
#define EIGEN_PLAIN_ENUM_MIN (   a,
 
)
#define EIGEN_SIZE_MAX (   a,
 
)
#define EIGEN_SIZE_MIN_PREFER_DYNAMIC (   a,
 
)

Referenced by Eigen::umeyama().

#define EIGEN_SIZE_MIN_PREFER_FIXED (   a,
 
)
#define EIGEN_UNUSED
#define EIGEN_UNUSED_VARIABLE (   var)
#define EIGEN_VERSION_AT_LEAST (   x,
  y,
 
)