10#ifndef EIGEN_ARRAYBASE_H
11#define EIGEN_ARRAYBASE_H
15template<
typename ExpressionType>
class MatrixWrapper;
43#ifndef EIGEN_PARSED_BY_DOXYGEN
65 using Base::const_cast_derived;
72 using Base::operator-;
73 using Base::operator=;
74 using Base::operator+=;
75 using Base::operator-=;
76 using Base::operator*=;
77 using Base::operator/=;
83#ifndef EIGEN_PARSED_BY_DOXYGEN
90#define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::ArrayBase
91#define EIGEN_DOC_UNARY_ADDONS(X,Y)
92# include "../plugins/MatrixCwiseUnaryOps.h"
93# include "../plugins/ArrayCwiseUnaryOps.h"
94# include "../plugins/CommonCwiseBinaryOps.h"
95# include "../plugins/MatrixCwiseBinaryOps.h"
96# include "../plugins/ArrayCwiseBinaryOps.h"
97# ifdef EIGEN_ARRAYBASE_PLUGIN
98# include EIGEN_ARRAYBASE_PLUGIN
100#undef EIGEN_CURRENT_STORAGE_BASE_CLASS
101#undef EIGEN_DOC_UNARY_ADDONS
124 template<
typename OtherDerived>
127 template<
typename OtherDerived>
131 template<
typename OtherDerived>
135 template<
typename OtherDerived>
166 {
EIGEN_STATIC_ASSERT(std::ptrdiff_t(
sizeof(
typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES);
return *
this;}
169 {
EIGEN_STATIC_ASSERT(std::ptrdiff_t(
sizeof(
typename OtherDerived::Scalar))==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES);
return *
this;}
176template<
typename Derived>
177template<
typename OtherDerived>
189template<
typename Derived>
190template<
typename OtherDerived>
202template<
typename Derived>
203template<
typename OtherDerived>
215template<
typename Derived>
216template<
typename OtherDerived>
#define EIGEN_DEFAULT_COPY_CONSTRUCTOR(CLASS)
Definition: Macros.h:1231
#define EIGEN_DEFAULT_EMPTY_CONSTRUCTOR_AND_DESTRUCTOR(Derived)
Definition: Macros.h:1257
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:986
#define EIGEN_STRONG_INLINE
Definition: Macros.h:927
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
Base class for all 1D and 2D array, and related expressions.
Definition: ArrayBase.h:41
EIGEN_DEVICE_FUNC MatrixWrapper< Derived > matrix()
Definition: ArrayBase.h:148
CwiseNullaryOp< internal::scalar_constant_op< Scalar >, PlainObject > ConstantReturnType
Definition: ArrayBase.h:87
DenseBase< Derived > Base
Definition: ArrayBase.h:54
EIGEN_DEVICE_FUNC const ArrayBase< Derived > & array() const
Definition: ArrayBase.h:143
Derived & operator-=(const MatrixBase< OtherDerived > &)
Definition: ArrayBase.h:168
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator+=(const Scalar &scalar)
Definition: SelfCwiseBinaryOp.h:25
ArrayBase Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl
Definition: ArrayBase.h:47
NumTraits< Scalar >::Real RealScalar
Definition: ArrayBase.h:52
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator*=(const ArrayBase< OtherDerived > &other)
replaces *this by *this * other coefficient wise.
Definition: ArrayBase.h:205
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator=(const ArrayBase &other)
Special case of the template operator=, in order to prevent the compiler from generating a default op...
Definition: ArrayBase.h:107
Base::PlainObject PlainObject
Definition: ArrayBase.h:84
Derived & operator+=(const MatrixBase< OtherDerived > &)
Definition: ArrayBase.h:165
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator-=(const Scalar &scalar)
Definition: SelfCwiseBinaryOp.h:32
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator-=(const ArrayBase< OtherDerived > &other)
replaces *this by *this - other.
Definition: ArrayBase.h:179
internal::traits< Derived >::StorageKind StorageKind
Definition: ArrayBase.h:49
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator=(const Scalar &value)
Set all the entries to value.
Definition: ArrayBase.h:116
ArrayBase StorageBaseType
The base class for a given storage type.
Definition: ArrayBase.h:45
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator/=(const ArrayBase< OtherDerived > &other)
replaces *this by *this / other coefficient wise.
Definition: ArrayBase.h:218
internal::packet_traits< Scalar >::type PacketScalar
Definition: ArrayBase.h:51
internal::traits< Derived >::Scalar Scalar
Definition: ArrayBase.h:50
Base::CoeffReturnType CoeffReturnType
Definition: ArrayBase.h:79
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator+=(const ArrayBase< OtherDerived > &other)
replaces *this by *this + other.
Definition: ArrayBase.h:192
EIGEN_DEVICE_FUNC const MatrixWrapper< const Derived > matrix() const
Definition: ArrayBase.h:150
EIGEN_DEVICE_FUNC ArrayBase< Derived > & array()
Definition: ArrayBase.h:141
Generic expression of a matrix where all coefficients are defined by a functor.
Definition: CwiseNullaryOp.h:61
Base class for all dense matrices, vectors, and arrays.
Definition: DenseBase.h:47
EIGEN_DEVICE_FUNC Derived & setConstant(const Scalar &value)
Sets all coefficients in this expression to value val.
Definition: CwiseNullaryOp.h:345
Base::CoeffReturnType CoeffReturnType
Definition: DenseBase.h:96
internal::traits< Derived >::Scalar Scalar
The numeric type of the expression' coefficients, e.g.
Definition: DenseBase.h:66
@ IsVectorAtCompileTime
This is set to true if either the number of rows or the number of columns is known at compile-time to...
Definition: DenseBase.h:153
@ SizeAtCompileTime
This is equal to the number of coefficients, i.e.
Definition: DenseBase.h:113
@ MaxSizeAtCompileTime
This value is equal to the maximum possible number of coefficients that this expression might have.
Definition: DenseBase.h:141
@ Flags
This stores expression Flags flags which may or may not be inherited by new expressions constructed f...
Definition: DenseBase.h:165
@ ColsAtCompileTime
The number of columns at compile-time.
Definition: DenseBase.h:106
@ MaxColsAtCompileTime
This value is equal to the maximum possible number of columns that this expression might have.
Definition: DenseBase.h:130
@ MaxRowsAtCompileTime
This value is equal to the maximum possible number of rows that this expression might have.
Definition: DenseBase.h:119
@ RowsAtCompileTime
The number of rows at compile-time.
Definition: DenseBase.h:100
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC Derived & lazyAssign(const DenseBase< OtherDerived > &other)
internal::conditional< internal::is_same< typenameinternal::traits< Derived >::XprKind, MatrixXpr >::value, PlainMatrix, PlainArray >::type PlainObject
The plain matrix or array type corresponding to this expression.
Definition: DenseBase.h:210
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:50
Expression of an array as a mathematical vector or matrix.
Definition: ArrayWrapper.h:141
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment(Dst &dst, const Src &src)
Definition: AssignEvaluator.h:834
EIGEN_CONSTEXPR Index size(const T &x)
Definition: Meta.h:479
Namespace containing all symbols from the Eigen library.
Definition: Core:141
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
unit< std::ratio< 1 >, units::category::scalar_unit > scalar
Definition: base.h:2521
Holds information about the various numeric (i.e.
Definition: NumTraits.h:233
Definition: AssignmentFunctors.h:46
Definition: AssignmentFunctors.h:110
Definition: AssignmentFunctors.h:89
T type
Definition: GenericPacketMath.h:108
Definition: AssignmentFunctors.h:67
Definition: ForwardDeclarations.h:17