#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 |