10 #ifndef EIGEN_ARRAYBASE_H
11 #define EIGEN_ARRAYBASE_H
18 template <
typename ExpressionType>
43 template <
typename Derived>
46 #ifndef EIGEN_PARSED_BY_DOXYGEN
70 using Base::const_cast_derived;
75 using Base::operator-;
76 using Base::operator=;
77 using Base::operator+=;
78 using Base::operator-=;
79 using Base::operator*=;
80 using Base::operator/=;
86 #ifndef EIGEN_PARSED_BY_DOXYGEN
93 #define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::ArrayBase
94 #define EIGEN_DOC_UNARY_ADDONS(X, Y)
95 #include "../plugins/MatrixCwiseUnaryOps.inc"
96 #include "../plugins/ArrayCwiseUnaryOps.inc"
97 #include "../plugins/CommonCwiseBinaryOps.inc"
98 #include "../plugins/MatrixCwiseBinaryOps.inc"
99 #include "../plugins/ArrayCwiseBinaryOps.inc"
100 #ifdef EIGEN_ARRAYBASE_PLUGIN
101 #include EIGEN_ARRAYBASE_PLUGIN
103 #undef EIGEN_CURRENT_STORAGE_BASE_CLASS
104 #undef EIGEN_DOC_UNARY_ADDONS
124 template <
typename OtherDerived>
126 template <
typename OtherDerived>
129 template <
typename OtherDerived>
132 template <
typename OtherDerived>
156 template <
typename OtherDerived>
161 template <
typename OtherDerived>
164 YOU_CANNOT_MIX_ARRAYS_AND_MATRICES);
168 template <
typename OtherDerived>
171 YOU_CANNOT_MIX_ARRAYS_AND_MATRICES);
180 template <
typename Derived>
181 template <
typename OtherDerived>
191 template <
typename Derived>
192 template <
typename OtherDerived>
202 template <
typename Derived>
203 template <
typename OtherDerived>
213 template <
typename Derived>
214 template <
typename OtherDerived>
#define EIGEN_DEFAULT_COPY_CONSTRUCTOR(CLASS)
Macro to explicitly define the default copy constructor. This is necessary, because the implicit defi...
Definition: Macros.h:1119
#define EIGEN_DEFAULT_EMPTY_CONSTRUCTOR_AND_DESTRUCTOR(Derived)
Macro to manually define default constructors and destructors. This is necessary when the copy constr...
Definition: Macros.h:1137
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
#define EIGEN_STATIC_ASSERT(X, MSG)
Definition: StaticAssert.h:26
int rows
Definition: Tutorial_commainit_02.cpp:1
int cols
Definition: Tutorial_commainit_02.cpp:1
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
SCALAR Scalar
Definition: bench_gemm.cpp:45
Base class for all 1D and 2D array, and related expressions.
Definition: ArrayBase.h:44
DenseBase< Derived > Base
Definition: ArrayBase.h:57
ArrayBase(const ArrayBase< OtherDerived > &)
CwiseNullaryOp< internal::scalar_constant_op< Scalar >, PlainObject > ConstantReturnType
Definition: ArrayBase.h:90
Derived & operator+=(const MatrixBase< OtherDerived > &)
Definition: ArrayBase.h:162
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator+=(const Scalar &scalar)
Definition: SelfCwiseBinaryOp.h:28
ArrayBase Eigen_BaseClassForSpecializationOfGlobalMathFuncImpl
Definition: ArrayBase.h:50
NumTraits< Scalar >::Real RealScalar
Definition: ArrayBase.h:55
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator*=(const ArrayBase< OtherDerived > &other)
Definition: ArrayBase.h:204
Base::PlainObject PlainObject
Definition: ArrayBase.h:87
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator-=(const Scalar &scalar)
Definition: SelfCwiseBinaryOp.h:35
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator-=(const ArrayBase< OtherDerived > &other)
Definition: ArrayBase.h:182
internal::traits< Derived >::StorageKind StorageKind
Definition: ArrayBase.h:52
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator=(const ArrayBase &other)
Definition: ArrayBase.h:109
EIGEN_DEVICE_FUNC const ArrayBase< Derived > & array() const
Definition: ArrayBase.h:137
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator*=(const Scalar &other)
Definition: SelfCwiseBinaryOp.h:21
ArrayBase StorageBaseType
Definition: ArrayBase.h:48
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator/=(const Scalar &other)
Definition: SelfCwiseBinaryOp.h:42
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator/=(const ArrayBase< OtherDerived > &other)
Definition: ArrayBase.h:215
internal::packet_traits< Scalar >::type PacketScalar
Definition: ArrayBase.h:54
internal::traits< Derived >::Scalar Scalar
Definition: ArrayBase.h:53
Base::CoeffReturnType CoeffReturnType
Definition: ArrayBase.h:82
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator+=(const ArrayBase< OtherDerived > &other)
Definition: ArrayBase.h:193
EIGEN_DEVICE_FUNC MatrixWrapper< Derived > matrix()
Definition: ArrayBase.h:141
EIGEN_DEVICE_FUNC const MatrixWrapper< const Derived > matrix() const
Definition: ArrayBase.h:142
Derived & operator-=(const MatrixBase< OtherDerived > &)
Definition: ArrayBase.h:169
EIGEN_DEVICE_FUNC ArrayBase< Derived > & array()
Definition: ArrayBase.h:136
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator=(const Scalar &value)
Definition: ArrayBase.h:116
Generic expression of a matrix where all coefficients are defined by a functor.
Definition: CwiseNullaryOp.h:64
Base class for all dense matrices, vectors, and arrays.
Definition: DenseBase.h:44
EIGEN_DEVICE_FUNC Derived & setConstant(const Scalar &value)
Definition: CwiseNullaryOp.h:349
@ IsVectorAtCompileTime
Definition: DenseBase.h:147
@ SizeAtCompileTime
Definition: DenseBase.h:108
@ MaxSizeAtCompileTime
Definition: DenseBase.h:135
@ Flags
Definition: DenseBase.h:161
@ ColsAtCompileTime
Definition: DenseBase.h:102
@ MaxColsAtCompileTime
Definition: DenseBase.h:124
@ MaxRowsAtCompileTime
Definition: DenseBase.h:113
@ RowsAtCompileTime
Definition: DenseBase.h:96
std::conditional_t< internal::is_same< typename internal::traits< Derived >::XprKind, MatrixXpr >::value, PlainMatrix, PlainArray > PlainObject
The plain matrix or array type corresponding to this expression.
Definition: DenseBase.h:204
Base::CoeffReturnType CoeffReturnType
Definition: DenseBase.h:92
EIGEN_DEVICE_FUNC CoeffReturnType value() const
Definition: DenseBase.h:481
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC Derived & lazyAssign(const DenseBase< OtherDerived > &other)
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
Expression of an array as a mathematical vector or matrix.
Definition: ArrayWrapper.h:122
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment(Dst &dst, const Src &src)
Definition: AssignEvaluator.h:781
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
Template functor for scalar/packet assignment with addition.
Definition: AssignmentFunctors.h:52
Template functor for scalar/packet assignment with diviving.
Definition: AssignmentFunctors.h:115
Template functor for scalar/packet assignment with multiplication.
Definition: AssignmentFunctors.h:94
Template functor for scalar/packet assignment with subtraction.
Definition: AssignmentFunctors.h:73
Definition: ForwardDeclarations.h:21