MOAB  4.9.3pre
Macros.h File Reference

Go to the source code of this file.

Namespaces

namespace  Eigen
namespace  Eigen::internal

Defines

#define EIGEN_WORLD_VERSION   3
#define EIGEN_MAJOR_VERSION   2
#define EIGEN_MINOR_VERSION   92
#define EIGEN_VERSION_AT_LEAST(x, y, z)
#define EIGEN_COMP_GNUC   0
#define EIGEN_COMP_CLANG   0
#define EIGEN_COMP_LLVM   0
#define EIGEN_COMP_ICC   0
#define EIGEN_COMP_MINGW   0
#define EIGEN_COMP_SUNCC   0
#define EIGEN_COMP_MSVC   0
#define EIGEN_COMP_MSVC_STRICT   0
#define EIGEN_COMP_IBM   0
#define EIGEN_COMP_PGI   0
#define EIGEN_COMP_ARM   0
#define EIGEN_COMP_EMSCRIPTEN   0
#define EIGEN_COMP_GNUC_STRICT   0
#define EIGEN_GNUC_AT_LEAST(x, y)   0
#define EIGEN_GNUC_AT_MOST(x, y)   0
#define EIGEN_GNUC_AT(x, y)   0
#define EIGEN_GCC3_OR_OLDER   0
#define EIGEN_ARCH_x86_64   0
#define EIGEN_ARCH_i386   0
#define EIGEN_ARCH_i386_OR_x86_64   0
#define EIGEN_ARCH_ARM   0
#define EIGEN_ARCH_ARM64   0
#define EIGEN_ARCH_ARM_OR_ARM64   0
#define EIGEN_ARCH_MIPS   0
#define EIGEN_ARCH_SPARC   0
#define EIGEN_ARCH_IA64   0
#define EIGEN_ARCH_PPC   0
#define EIGEN_OS_UNIX   0
#define EIGEN_OS_LINUX   0
#define EIGEN_OS_ANDROID   0
#define EIGEN_OS_GNULINUX   0
#define EIGEN_OS_BSD   0
#define EIGEN_OS_MAC   0
#define EIGEN_OS_QNX   0
#define EIGEN_OS_WIN   0
#define EIGEN_OS_WIN64   0
#define EIGEN_OS_WINCE   0
#define EIGEN_OS_CYGWIN   0
#define EIGEN_OS_WIN_STRICT   0
#define EIGEN_OS_SUN   0
#define EIGEN_OS_SOLARIS   0
#define EIGEN_SAFE_TO_USE_STANDARD_ASSERT_MACRO   1
#define EIGEN_NOT_A_MACRO
#define EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION   Eigen::ColMajor
#define EIGEN_DEFAULT_DENSE_INDEX_TYPE   std::ptrdiff_t
#define EIGEN_HAS_BUILTIN(x)   0
#define __has_feature(x)   0
#define EIGEN_HAS_CXX11_MATH   0
#define EIGEN_HAS_CXX11_CONTAINERS   0
#define EIGEN_HAS_CXX11_NOEXCEPT   0
#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_STRONG_INLINE   inline
#define EIGEN_ALWAYS_INLINE   EIGEN_STRONG_INLINE
#define EIGEN_DONT_INLINE
#define EIGEN_PERMISSIVE_EXPR
#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)   Eigen::internal::ignore_unused_variable(var);
#define EIGEN_ASM_COMMENT(X)
#define EIGEN_IDEAL_MAX_ALIGN_BYTES   16
#define EIGEN_MIN_ALIGN_BYTES   16
#define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT   0
#define EIGEN_ARCH_WANTS_STACK_ALIGNMENT   1
#define EIGEN_MAX_STATIC_ALIGN_BYTES   EIGEN_IDEAL_MAX_ALIGN_BYTES
#define EIGEN_ALIGN8   EIGEN_ALIGN_TO_BOUNDARY(8)
#define EIGEN_ALIGN16   EIGEN_ALIGN_TO_BOUNDARY(16)
#define EIGEN_ALIGN32   EIGEN_ALIGN_TO_BOUNDARY(32)
#define EIGEN_ALIGN64   EIGEN_ALIGN_TO_BOUNDARY(64)
#define EIGEN_ALIGN_MAX   EIGEN_ALIGN_TO_BOUNDARY(EIGEN_MAX_STATIC_ALIGN_BYTES)
#define EIGEN_MAX_ALIGN_BYTES   EIGEN_IDEAL_MAX_ALIGN_BYTES
#define EIGEN_DEFAULT_ALIGN_BYTES   EIGEN_MAX_ALIGN_BYTES
#define EIGEN_RESTRICT   __restrict
#define EIGEN_STACK_ALLOCATION_LIMIT   131072
#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)
 Macro to manually inherit assignment operators. This is necessary, because the implicitly defined assignment operator gets deleted when a custom operator= is defined.
#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)
#define EIGEN_THROW_X(X)   std::abort()
#define EIGEN_THROW   std::abort()
#define EIGEN_TRY   if (true)
#define EIGEN_CATCH(X)   else
#define EIGEN_NO_THROW   throw()
#define EIGEN_EXCEPTION_SPEC(X)   throw(X)

Functions

bool Eigen::internal::copy_bool (bool b)
template<typename T >
EIGEN_DEVICE_FUNC void Eigen::internal::ignore_unused_variable (const T &)

Define Documentation

#define __has_feature (   x)    0

Definition at line 340 of file Macros.h.

#define EIGEN_ALIGN16   EIGEN_ALIGN_TO_BOUNDARY(16)

Definition at line 694 of file Macros.h.

#define EIGEN_ALIGN32   EIGEN_ALIGN_TO_BOUNDARY(32)

Definition at line 695 of file Macros.h.

#define EIGEN_ALIGN64   EIGEN_ALIGN_TO_BOUNDARY(64)

Definition at line 696 of file Macros.h.

#define EIGEN_ALIGN8   EIGEN_ALIGN_TO_BOUNDARY(8)

Definition at line 693 of file Macros.h.

#define EIGEN_ALIGN_MAX   EIGEN_ALIGN_TO_BOUNDARY(EIGEN_MAX_STATIC_ALIGN_BYTES)

Definition at line 698 of file Macros.h.

Definition at line 453 of file Macros.h.

#define EIGEN_ARCH_ARM   0

EIGEN_ARCH_ARM set to 1 if the architecture is ARM

Definition at line 160 of file Macros.h.

#define EIGEN_ARCH_ARM64   0

EIGEN_ARCH_ARM64 set to 1 if the architecture is ARM64

Definition at line 167 of file Macros.h.

#define EIGEN_ARCH_ARM_OR_ARM64   0

Definition at line 173 of file Macros.h.

#define EIGEN_ARCH_i386   0

Definition at line 147 of file Macros.h.

#define EIGEN_ARCH_i386_OR_x86_64   0

Definition at line 153 of file Macros.h.

#define EIGEN_ARCH_IA64   0

EIGEN_ARCH_IA64 set to 1 if the architecture is Intel Itanium

Definition at line 194 of file Macros.h.

#define EIGEN_ARCH_MIPS   0

EIGEN_ARCH_MIPS set to 1 if the architecture is MIPS

Definition at line 180 of file Macros.h.

#define EIGEN_ARCH_PPC   0

EIGEN_ARCH_PPC set to 1 if the architecture is PowerPC

Definition at line 201 of file Macros.h.

#define EIGEN_ARCH_SPARC   0

EIGEN_ARCH_SPARC set to 1 if the architecture is SPARC

Definition at line 187 of file Macros.h.

Definition at line 663 of file Macros.h.

#define EIGEN_ARCH_x86_64   0

Definition at line 141 of file Macros.h.

#define EIGEN_ASM_COMMENT (   X)

Definition at line 568 of file Macros.h.

#define eigen_assert (   x)    eigen_plain_assert(x)

Definition at line 523 of file Macros.h.

#define EIGEN_CAT (   a,
 
)    EIGEN_CAT2(a,b)

Definition at line 428 of file Macros.h.

#define EIGEN_CAT2 (   a,
 
)    a ## b

Definition at line 427 of file Macros.h.

#define EIGEN_CATCH (   X)    else

Definition at line 872 of file Macros.h.

#define EIGEN_COMP_ARM   0

EIGEN_COMP_ARM set to 1 if the compiler is ARM Compiler

Definition at line 99 of file Macros.h.

#define EIGEN_COMP_CLANG   0

EIGEN_COMP_CLANG set to 1 if the compiler is clang (alias for __clang__)

Definition at line 35 of file Macros.h.

#define EIGEN_COMP_EMSCRIPTEN   0

EIGEN_COMP_ARM set to 1 if the compiler is ARM Compiler

Definition at line 106 of file Macros.h.

#define EIGEN_COMP_GNUC   0

EIGEN_COMP_GNUC set to 1 for all compilers compatible with GCC

Definition at line 28 of file Macros.h.

#define EIGEN_COMP_GNUC_STRICT   0

EIGEN_GNUC_STRICT set to 1 if the compiler is really GCC and not a compatible compiler (e.g., ICC, clang, mingw, etc.)

Definition at line 114 of file Macros.h.

#define EIGEN_COMP_IBM   0

EIGEN_COMP_IBM set to 1 if the compiler is IBM XL C++

Definition at line 85 of file Macros.h.

#define EIGEN_COMP_ICC   0

EIGEN_COMP_ICC set to __INTEL_COMPILER if the compiler is Intel compiler, 0 otherwise

Definition at line 50 of file Macros.h.

#define EIGEN_COMP_LLVM   0

EIGEN_COMP_LLVM set to 1 if the compiler backend is llvm

Definition at line 43 of file Macros.h.

#define EIGEN_COMP_MINGW   0

EIGEN_COMP_MINGW set to 1 if the compiler is mingw

Definition at line 57 of file Macros.h.

#define EIGEN_COMP_MSVC   0

EIGEN_COMP_MSVC set to _MSC_VER if the compiler is Microsoft Visual C++, 0 otherwise.

Definition at line 71 of file Macros.h.

#define EIGEN_COMP_MSVC_STRICT   0

EIGEN_COMP_MSVC_STRICT set to 1 if the compiler is really Microsoft Visual C++ and not ,e.g., ICC

Definition at line 78 of file Macros.h.

#define EIGEN_COMP_PGI   0

EIGEN_COMP_PGI set to 1 if the compiler is Portland Group Compiler

Definition at line 92 of file Macros.h.

#define EIGEN_COMP_SUNCC   0

EIGEN_COMP_SUNCC set to 1 if the compiler is Solaris Studio

Definition at line 64 of file Macros.h.

#define EIGEN_CWISE_PRODUCT_RETURN_TYPE (   LHS,
  RHS 
)
Value:
CwiseBinaryOp< \
      internal::scalar_product_op< \
          typename internal::traits<LHS>::Scalar, \
          typename internal::traits<RHS>::Scalar \
      >, \
      const LHS, \
      const RHS \
    >

Definition at line 848 of file Macros.h.

#define EIGEN_DEBUG_VAR (   x)    std::cerr << #x << " = " << x << std::endl;

Definition at line 424 of file Macros.h.

Definition at line 722 of file Macros.h.

#define EIGEN_DEFAULT_DENSE_INDEX_TYPE   std::ptrdiff_t

Definition at line 327 of file Macros.h.

Definition at line 746 of file Macros.h.

Definition at line 323 of file Macros.h.

Definition at line 475 of file Macros.h.

#define EIGEN_DENSE_PUBLIC_INTERFACE (   Derived)
Value:
EIGEN_GENERIC_PUBLIC_INTERFACE(Derived) \
  typedef typename Base::PacketScalar PacketScalar;

Definition at line 805 of file Macros.h.

Definition at line 544 of file Macros.h.

Definition at line 461 of file Macros.h.

#define EIGEN_EMPTY

Definition at line 751 of file Macros.h.

#define EIGEN_EXCEPTION_SPEC (   X)    throw(X)

Definition at line 880 of file Macros.h.

#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 ArrayBase::sin() and ArrayBase::cos() for SSE and AVX vectorization.

Definition at line 421 of file Macros.h.

#define EIGEN_GCC3_OR_OLDER   0

Definition at line 132 of file Macros.h.

Definition at line 655 of file Macros.h.

#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::ref_selector<Derived>::type Nested; \
  typedef typename Eigen::internal::traits<Derived>::StorageKind StorageKind; \
  typedef typename Eigen::internal::traits<Derived>::StorageIndex StorageIndex; \
  enum { RowsAtCompileTime = Eigen::internal::traits<Derived>::RowsAtCompileTime, \
        ColsAtCompileTime = Eigen::internal::traits<Derived>::ColsAtCompileTime, \
        Flags = Eigen::internal::traits<Derived>::Flags, \
        SizeAtCompileTime = Base::SizeAtCompileTime, \
        MaxSizeAtCompileTime = Base::MaxSizeAtCompileTime, \
        IsVectorAtCompileTime = Base::IsVectorAtCompileTime }; \
  using Base::derived; \
  using Base::const_cast_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.

Definition at line 787 of file Macros.h.

#define EIGEN_GNUC_AT (   x,
 
)    0

Definition at line 125 of file Macros.h.

#define EIGEN_GNUC_AT_LEAST (   x,
 
)    0

Definition at line 123 of file Macros.h.

#define EIGEN_GNUC_AT_MOST (   x,
 
)    0

Definition at line 124 of file Macros.h.

#define EIGEN_HAS_BUILTIN (   x)    0

Definition at line 334 of file Macros.h.

Definition at line 400 of file Macros.h.

#define EIGEN_HAS_CXX11_MATH   0

Definition at line 389 of file Macros.h.

#define EIGEN_HAS_CXX11_NOEXCEPT   0

Definition at line 411 of file Macros.h.

#define EIGEN_IDEAL_MAX_ALIGN_BYTES   16

Definition at line 613 of file Macros.h.

#define EIGEN_IMPLIES (   a,
 
)    (!(a) || (b))

Definition at line 837 of file Macros.h.

Value:
using Base::operator =; \
    EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& operator=(const Derived& other) \
    { \
      Base::operator=(other); \
      return *this; \
    }

Definition at line 763 of file Macros.h.

Macro to manually inherit assignment operators. This is necessary, because the implicitly defined assignment operator gets deleted when a custom operator= is defined.

Definition at line 777 of file Macros.h.

#define eigen_internal_assert (   x)

Definition at line 529 of file Macros.h.

#define EIGEN_LOGICAL_XOR (   a,
 
)    (((a) || (b)) && !((a) && (b)))

Definition at line 835 of file Macros.h.

#define EIGEN_MAJOR_VERSION   2

Definition at line 15 of file Macros.h.

#define EIGEN_MAKE_CWISE_BINARY_OP (   METHOD,
  FUNCTOR 
)
Value:
template<typename OtherDerived> \
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<FUNCTOR<Scalar>, const Derived, const OtherDerived> \
  (METHOD)(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const \
  { \
    return CwiseBinaryOp<FUNCTOR<Scalar>, const Derived, const OtherDerived>(derived(), other.derived()); \
  }

Definition at line 839 of file Macros.h.

#define EIGEN_MAKESTRING (   a)    EIGEN_MAKESTRING2(a)

Definition at line 432 of file Macros.h.

#define EIGEN_MAKESTRING2 (   a)    #a

Definition at line 431 of file Macros.h.

Definition at line 716 of file Macros.h.

Definition at line 669 of file Macros.h.

#define EIGEN_MIN_ALIGN_BYTES   16

Definition at line 618 of file Macros.h.

#define EIGEN_MINOR_VERSION   92

Definition at line 16 of file Macros.h.

#define EIGEN_NO_THROW   throw()

Definition at line 879 of file Macros.h.

Definition at line 318 of file Macros.h.

#define EIGEN_ONLY_USED_FOR_DEBUG (   x)

Definition at line 535 of file Macros.h.

#define EIGEN_OS_ANDROID   0

EIGEN_OS_ANDROID set to 1 if the OS is Android

Definition at line 227 of file Macros.h.

#define EIGEN_OS_BSD   0

EIGEN_OS_BSD set to 1 if the OS is a BSD variant

Definition at line 241 of file Macros.h.

#define EIGEN_OS_CYGWIN   0

EIGEN_OS_CYGWIN set to 1 if the OS is Windows/Cygwin

Definition at line 283 of file Macros.h.

#define EIGEN_OS_GNULINUX   0

EIGEN_OS_GNULINUX set to 1 if the OS is GNU Linux and not Linux-based OS (e.g., not android)

Definition at line 234 of file Macros.h.

#define EIGEN_OS_LINUX   0

EIGEN_OS_LINUX set to 1 if the OS is based on Linux kernel

Definition at line 219 of file Macros.h.

#define EIGEN_OS_MAC   0

EIGEN_OS_MAC set to 1 if the OS is MacOS

Definition at line 248 of file Macros.h.

#define EIGEN_OS_QNX   0

EIGEN_OS_QNX set to 1 if the OS is QNX

Definition at line 255 of file Macros.h.

#define EIGEN_OS_SOLARIS   0

EIGEN_OS_SOLARIS set to 1 if the OS is Solaris

Definition at line 304 of file Macros.h.

#define EIGEN_OS_SUN   0

EIGEN_OS_SUN set to 1 if the OS is SUN

Definition at line 297 of file Macros.h.

#define EIGEN_OS_UNIX   0

EIGEN_OS_UNIX set to 1 if the OS is a unix variant

Definition at line 212 of file Macros.h.

#define EIGEN_OS_WIN   0

EIGEN_OS_WIN set to 1 if the OS is Windows based

Definition at line 262 of file Macros.h.

#define EIGEN_OS_WIN64   0

EIGEN_OS_WIN64 set to 1 if the OS is Windows 64bits

Definition at line 269 of file Macros.h.

#define EIGEN_OS_WIN_STRICT   0

EIGEN_OS_WIN_STRICT set to 1 if the OS is really Windows and not some variants

Definition at line 290 of file Macros.h.

#define EIGEN_OS_WINCE   0

EIGEN_OS_WINCE set to 1 if the OS is Windows CE

Definition at line 276 of file Macros.h.

Definition at line 467 of file Macros.h.

#define eigen_plain_assert (   x)    assert(x)

Definition at line 493 of file Macros.h.

#define EIGEN_PLAIN_ENUM_MAX (   a,
 
)    (((int)a >= (int)b) ? (int)a : (int)b)

Definition at line 811 of file Macros.h.

#define EIGEN_PLAIN_ENUM_MIN (   a,
 
)    (((int)a <= (int)b) ? (int)a : (int)b)

Definition at line 810 of file Macros.h.

#define EIGEN_RESTRICT   __restrict

Definition at line 732 of file Macros.h.

Definition at line 313 of file Macros.h.

#define EIGEN_SIZE_MAX (   a,
 
)
Value:
(((int)a == Dynamic || (int)b == Dynamic) ? Dynamic \
                           : ((int)a >= (int)b) ? (int)a : (int)b)

Definition at line 832 of file Macros.h.

#define EIGEN_SIZE_MIN_PREFER_DYNAMIC (   a,
 
)
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)

Definition at line 816 of file Macros.h.

#define EIGEN_SIZE_MIN_PREFER_FIXED (   a,
 
)
Value:
(((int)a == 0 || (int)b == 0) ? 0 \
                           : ((int)a == 1 || (int)b == 1) ? 1 \
                           : ((int)a == Dynamic && (int)b == Dynamic) ? Dynamic \
                           : ((int)a == Dynamic) ? (int)b \
                           : ((int)b == Dynamic) ? (int)a \
                           : ((int)a <= (int)b) ? (int)a : (int)b)

Definition at line 824 of file Macros.h.

#define EIGEN_STACK_ALLOCATION_LIMIT   131072

Definition at line 737 of file Macros.h.

#define EIGEN_STRONG_INLINE   inline

Definition at line 440 of file Macros.h.

#define EIGEN_THROW   std::abort()

Definition at line 869 of file Macros.h.

#define EIGEN_THROW_X (   X)    std::abort()

Definition at line 868 of file Macros.h.

#define EIGEN_TRY   if (true)

Definition at line 871 of file Macros.h.

#define EIGEN_UNUSED

Definition at line 553 of file Macros.h.

Definition at line 562 of file Macros.h.

#define EIGEN_VERSION_AT_LEAST (   x,
  y,
 
)
Value:
(EIGEN_WORLD_VERSION>x || (EIGEN_WORLD_VERSION>=x && \
                                      (EIGEN_MAJOR_VERSION>y || (EIGEN_MAJOR_VERSION>=y && \
                                                                 EIGEN_MINOR_VERSION>=z))))

Definition at line 18 of file Macros.h.

#define EIGEN_WORLD_VERSION   3

Definition at line 14 of file Macros.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines