11 #ifndef EIGEN_EIGENBASE_H
12 #define EIGEN_EIGENBASE_H
14 #include "./InternalHeaderCheck.h"
44 typedef typename internal::traits<Derived>::StorageKind StorageKind;
48 Derived&
derived() {
return *
static_cast<Derived*
>(
this); }
51 const Derived&
derived()
const {
return *
static_cast<const Derived*
>(
this); }
54 inline Derived& const_cast_derived()
const
55 {
return *
static_cast<Derived*
>(
const_cast<EigenBase*
>(
this)); }
57 inline const Derived& const_derived()
const
58 {
return *
static_cast<const Derived*
>(
this); }
61 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
64 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
68 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
72 template<
typename Dest>
74 inline void evalTo(Dest& dst)
const
78 template<
typename Dest>
80 inline void addTo(Dest& dst)
const
84 typename Dest::PlainObject res(
rows(),
cols());
90 template<
typename Dest>
92 inline void subTo(Dest& dst)
const
96 typename Dest::PlainObject res(
rows(),
cols());
102 template<
typename Dest>
103 EIGEN_DEVICE_FUNC
inline void applyThisOnTheRight(Dest& dst)
const
111 template<
typename Dest>
112 EIGEN_DEVICE_FUNC
inline void applyThisOnTheLeft(Dest& dst)
const
133 template<
typename Derived>
134 template<
typename OtherDerived>
138 call_assignment(derived(), other.
derived());
142 template<
typename Derived>
143 template<
typename OtherDerived>
147 call_assignment(derived(), other.
derived(), internal::add_assign_op<Scalar,typename OtherDerived::Scalar>());
151 template<
typename Derived>
152 template<
typename OtherDerived>
154 Derived& DenseBase<Derived>::operator-=(
const EigenBase<OtherDerived> &other)
156 call_assignment(derived(), other.derived(), internal::sub_assign_op<Scalar,typename OtherDerived::Scalar>());
Base class for all dense matrices, vectors, and arrays.
Definition: DenseBase.h:42
Derived & operator=(const DenseBase< OtherDerived > &other)
Definition: Assign.h:41
Namespace containing all symbols from the Eigen library.
Definition: Core:139
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:59
Definition: EigenBase.h:32
Derived & derived()
Definition: EigenBase.h:48
EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: EigenBase.h:65
Eigen::Index Index
The interface type of indices.
Definition: EigenBase.h:41
EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition: EigenBase.h:62
EIGEN_CONSTEXPR Index size() const EIGEN_NOEXCEPT
Definition: EigenBase.h:69
const Derived & derived() const
Definition: EigenBase.h:51