#include <cstdlib>
#include <iostream>
Go to the source code of this file.
Namespaces |
| namespace | Eigen |
| namespace | Eigen::internal |
Defines |
| #define | EIGEN_WORLD_VERSION 2 |
| #define | EIGEN_MAJOR_VERSION 94 |
| #define | EIGEN_MINOR_VERSION 0 |
| #define | EIGEN_VERSION_AT_LEAST(x, y, z) |
| #define | EIGEN_GNUC_AT_LEAST(x, y) 0 |
| #define | EIGEN_GNUC_AT_MOST(x, y) 0 |
| #define | EIGEN_SAFE_TO_USE_STANDARD_ASSERT_MACRO 1 |
| #define | EIGEN_GCC3_OR_OLDER 0 |
| #define | EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 0 |
| #define | EIGEN_ARCH_WANTS_STACK_ALIGNMENT 1 |
| #define | EIGEN_ALIGN 1 |
| #define | EIGEN_ALIGN_STATICALLY 1 |
| #define | EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION ColMajor |
| #define | EIGEN_DEFAULT_DENSE_INDEX_TYPE std::ptrdiff_t |
| #define | EIGEN_FAST_MATH 1 |
| #define | EIGEN_DEBUG_VAR(x) std::cerr << #x << " = " << x << std::endl; |
| #define | EIGEN_CAT2(a, b) a ## b |
| #define | EIGEN_CAT(a, b) EIGEN_CAT2(a,b) |
| #define | EIGEN_MAKESTRING2(a) #a |
| #define | EIGEN_MAKESTRING(a) EIGEN_MAKESTRING2(a) |
| #define | EIGEN_ALWAYS_INLINE_ATTRIB |
| #define | EIGEN_FLATTEN_ATTRIB |
| #define | EIGEN_STRONG_INLINE inline |
| #define | EIGEN_DONT_INLINE |
| #define | EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS |
| #define | EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS inline |
| #define | eigen_plain_assert(x) assert(x) |
| #define | eigen_assert(x) eigen_plain_assert(x) |
| #define | eigen_internal_assert(x) |
| #define | EIGEN_ONLY_USED_FOR_DEBUG(x) |
| #define | EIGEN_DEPRECATED |
| #define | EIGEN_UNUSED |
| #define | EIGEN_UNUSED_VARIABLE(var) (void)var; |
| #define | EIGEN_ASM_COMMENT(X) |
| #define | EIGEN_ALIGN16 EIGEN_ALIGN_TO_BOUNDARY(16) |
| #define | EIGEN_RESTRICT __restrict |
| #define | EIGEN_STACK_ALLOCATION_LIMIT 20000 |
| #define | EIGEN_DEFAULT_IO_FORMAT Eigen::IOFormat() |
| #define | EIGEN_EMPTY |
| #define | EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) |
| #define | EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Derived) EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) |
| #define | EIGEN_GENERIC_PUBLIC_INTERFACE(Derived) |
| #define | EIGEN_DENSE_PUBLIC_INTERFACE(Derived) |
| #define | EIGEN_PLAIN_ENUM_MIN(a, b) (((int)a <= (int)b) ? (int)a : (int)b) |
| #define | EIGEN_PLAIN_ENUM_MAX(a, b) (((int)a >= (int)b) ? (int)a : (int)b) |
| #define | EIGEN_SIZE_MIN_PREFER_DYNAMIC(a, b) |
| #define | EIGEN_SIZE_MIN_PREFER_FIXED(a, b) |
| #define | EIGEN_SIZE_MAX(a, b) |
| #define | EIGEN_LOGICAL_XOR(a, b) (((a) || (b)) && !((a) && (b))) |
| #define | EIGEN_IMPLIES(a, b) (!(a) || (b)) |
| #define | EIGEN_MAKE_CWISE_BINARY_OP(METHOD, FUNCTOR) |
| #define | EIGEN_CWISE_PRODUCT_RETURN_TYPE(LHS, RHS) |
Functions |
| bool | Eigen::internal::copy_bool (bool b) |
Define Documentation
| #define EIGEN_ALIGN16 EIGEN_ALIGN_TO_BOUNDARY(16) |
| #define EIGEN_ALIGN_STATICALLY 1 |
| #define EIGEN_ALWAYS_INLINE_ATTRIB |
| #define EIGEN_ARCH_WANTS_STACK_ALIGNMENT 1 |
| #define EIGEN_ASM_COMMENT |
( |
|
X |
) |
|
| #define eigen_assert |
( |
|
x |
) |
eigen_plain_assert(x) |
| #define EIGEN_CAT |
( |
|
a, |
|
|
|
b | |
|
) |
| | EIGEN_CAT2(a,b) |
| #define EIGEN_CAT2 |
( |
|
a, |
|
|
|
b | |
|
) |
| | a ## b |
| #define EIGEN_CWISE_PRODUCT_RETURN_TYPE |
( |
|
LHS, |
|
|
|
RHS | |
|
) |
| | |
| #define EIGEN_DEBUG_VAR |
( |
|
x |
) |
std::cerr << #x << " = " << x << std::endl; |
| #define EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS |
| #define EIGEN_DEFAULT_DENSE_INDEX_TYPE std::ptrdiff_t |
| #define EIGEN_DEFAULT_IO_FORMAT Eigen::IOFormat() |
| #define EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION ColMajor |
| #define EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS inline |
| #define EIGEN_DENSE_PUBLIC_INTERFACE |
( |
|
Derived |
) |
|
Value:typedef typename Eigen::internal::traits<Derived>::Scalar Scalar; \
typedef typename Eigen::NumTraits<Scalar>::Real RealScalar; \
typedef typename Base::PacketScalar PacketScalar; \
typedef typename Base::CoeffReturnType CoeffReturnType; \
typedef typename Eigen::internal::nested<Derived>::type Nested; \
typedef typename Eigen::internal::traits<Derived>::StorageKind StorageKind; \
typedef typename Eigen::internal::traits<Derived>::Index Index; \
enum { RowsAtCompileTime = Eigen::internal::traits<Derived>::RowsAtCompileTime, \
ColsAtCompileTime = Eigen::internal::traits<Derived>::ColsAtCompileTime, \
MaxRowsAtCompileTime = Eigen::internal::traits<Derived>::MaxRowsAtCompileTime, \
MaxColsAtCompileTime = Eigen::internal::traits<Derived>::MaxColsAtCompileTime, \
Flags = Eigen::internal::traits<Derived>::Flags, \
CoeffReadCost = Eigen::internal::traits<Derived>::CoeffReadCost, \
SizeAtCompileTime = Base::SizeAtCompileTime, \
MaxSizeAtCompileTime = Base::MaxSizeAtCompileTime, \
IsVectorAtCompileTime = Base::IsVectorAtCompileTime }; \
using Base::derived; \
using Base::const_cast_derived;
| #define EIGEN_DONT_INLINE |
| #define EIGEN_FAST_MATH 1 |
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_FLATTEN_ATTRIB |
| #define EIGEN_GCC3_OR_OLDER 0 |
| #define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 0 |
| #define EIGEN_GENERIC_PUBLIC_INTERFACE |
( |
|
Derived |
) |
|
Value:typedef typename Eigen::internal::traits<Derived>::Scalar Scalar; \
typedef typename Eigen::NumTraits<Scalar>::Real RealScalar; \
typedef typename Base::CoeffReturnType CoeffReturnType; \
typedef typename Eigen::internal::nested<Derived>::type Nested; \
typedef typename Eigen::internal::traits<Derived>::StorageKind StorageKind; \
typedef typename Eigen::internal::traits<Derived>::Index Index; \
enum { RowsAtCompileTime = Eigen::internal::traits<Derived>::RowsAtCompileTime, \
ColsAtCompileTime = Eigen::internal::traits<Derived>::ColsAtCompileTime, \
Flags = Eigen::internal::traits<Derived>::Flags, \
CoeffReadCost = Eigen::internal::traits<Derived>::CoeffReadCost, \
SizeAtCompileTime = Base::SizeAtCompileTime, \
MaxSizeAtCompileTime = Base::MaxSizeAtCompileTime, \
IsVectorAtCompileTime = Base::IsVectorAtCompileTime };
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, |
|
|
|
y | |
|
) |
| | 0 |
| #define EIGEN_GNUC_AT_MOST |
( |
|
x, |
|
|
|
y | |
|
) |
| | 0 |
| #define EIGEN_IMPLIES |
( |
|
a, |
|
|
|
b | |
|
) |
| | (!(a) || (b)) |
| #define EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR |
( |
|
Derived |
) |
|
Value:using Base::operator =; \
EIGEN_STRONG_INLINE Derived& operator=(const Derived& other) \
{ \
Base::operator=(other); \
return *this; \
}
| #define EIGEN_INHERIT_ASSIGNMENT_OPERATORS |
( |
|
Derived |
) |
EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) |
| #define eigen_internal_assert |
( |
|
x |
) |
|
| #define EIGEN_LOGICAL_XOR |
( |
|
a, |
|
|
|
b | |
|
) |
| | (((a) || (b)) && !((a) && (b))) |
| #define EIGEN_MAJOR_VERSION 94 |
| #define EIGEN_MAKE_CWISE_BINARY_OP |
( |
|
METHOD, |
|
|
|
FUNCTOR | |
|
) |
| | |
| #define EIGEN_MAKESTRING |
( |
|
a |
) |
EIGEN_MAKESTRING2(a) |
| #define EIGEN_MAKESTRING2 |
( |
|
a |
) |
#a |
| #define EIGEN_MINOR_VERSION 0 |
| #define EIGEN_ONLY_USED_FOR_DEBUG |
( |
|
x |
) |
|
| #define eigen_plain_assert |
( |
|
x |
) |
assert(x) |
| #define EIGEN_PLAIN_ENUM_MAX |
( |
|
a, |
|
|
|
b | |
|
) |
| | (((int)a >= (int)b) ? (int)a : (int)b) |
| #define EIGEN_PLAIN_ENUM_MIN |
( |
|
a, |
|
|
|
b | |
|
) |
| | (((int)a <= (int)b) ? (int)a : (int)b) |
| #define EIGEN_RESTRICT __restrict |
| #define EIGEN_SAFE_TO_USE_STANDARD_ASSERT_MACRO 1 |
| #define EIGEN_SIZE_MAX |
( |
|
a, |
|
|
|
b | |
|
) |
| | |
| #define EIGEN_SIZE_MIN_PREFER_DYNAMIC |
( |
|
a, |
|
|
|
b | |
|
) |
| | |
Value:(((int)a == 0 || (int)b == 0) ? 0 \
: ((int)a == 1 || (int)b == 1) ? 1 \
: ((int)a == Dynamic || (int)b == Dynamic) ? Dynamic \
: ((int)a <= (int)b) ? (int)a : (int)b)
| #define EIGEN_SIZE_MIN_PREFER_FIXED |
( |
|
a, |
|
|
|
b | |
|
) |
| | |
| #define EIGEN_STACK_ALLOCATION_LIMIT 20000 |
| #define EIGEN_STRONG_INLINE inline |
| #define EIGEN_UNUSED_VARIABLE |
( |
|
var |
) |
(void)var; |
| #define EIGEN_VERSION_AT_LEAST |
( |
|
x, |
|
|
|
y, |
|
|
|
z | |
|
) |
| | |
| #define EIGEN_WORLD_VERSION 2 |