10 #ifndef EIGEN_SKYLINEMATRIXBASE_H 11 #define EIGEN_SKYLINEMATRIXBASE_H 13 #include "SkylineUtil.h" 29 typedef typename internal::traits<Derived>::Scalar Scalar;
30 typedef typename internal::traits<Derived>::StorageKind StorageKind;
31 typedef typename internal::index<StorageKind>::type
Index;
47 SizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::RowsAtCompileTime,
48 internal::traits<Derived>::ColsAtCompileTime>::ret),
56 MaxSizeAtCompileTime = (internal::size_at_compile_time<MaxRowsAtCompileTime,
57 MaxColsAtCompileTime>::ret),
65 Flags = internal::traits<Derived>::Flags,
78 #ifndef EIGEN_PARSED_BY_DOXYGEN 91 inline const Derived&
derived()
const {
92 return *
static_cast<const Derived*
> (
this);
96 return *
static_cast<Derived*
> (
this);
99 inline Derived& const_cast_derived()
const {
102 #endif // not EIGEN_PARSED_BY_DOXYGEN 105 inline EIGEN_CONSTEXPR Index
rows() const EIGEN_NOEXCEPT {
110 inline EIGEN_CONSTEXPR Index
cols() const EIGEN_NOEXCEPT {
116 inline EIGEN_CONSTEXPR Index
size() const EIGEN_NOEXCEPT {
138 bool isRValue()
const {
142 Derived& markAsRValue() {
151 inline Derived & operator=(
const Derived& other) {
152 this->
operator=<Derived > (other);
156 template<
typename OtherDerived>
157 inline void assignGeneric(
const OtherDerived& other) {
158 derived().resize(other.rows(), other.cols());
159 for (Index row = 0; row <
rows(); row++)
160 for (Index col = 0; col <
cols(); col++) {
161 if (other.coeff(row, col) != Scalar(0))
162 derived().insert(row, col) = other.coeff(row, col);
167 template<
typename OtherDerived>
172 template<
typename Lhs,
typename Rhs>
173 inline Derived & operator=(
const SkylineProduct<Lhs, Rhs, SkylineTimeSkylineProduct>& product);
175 friend std::ostream & operator <<(std::ostream & s,
const SkylineMatrixBase& m) {
180 template<
typename OtherDerived>
181 const typename SkylineProductReturnType<Derived, OtherDerived>::Type
185 template<
typename DenseDerived>
188 for (Index i = 0; i <
rows(); i++)
189 for (Index j = 0; j <
rows(); j++)
190 dst(i, j) =
derived().coeff(i, j);
202 EIGEN_STRONG_INLINE
const typename internal::eval<Derived, IsSkyline>::type
eval()
const {
203 return typename internal::eval<Derived>::type(
derived());
212 #endif // EIGEN_SKYLINEMATRIXBASE_H EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: SkylineMatrixBase.h:110
EIGEN_CONSTEXPR Index size() const EIGEN_NOEXCEPT
Definition: SkylineMatrixBase.h:116
Index innerSize() const
Definition: SkylineMatrixBase.h:134
Definition: SkylineMatrixBase.h:34
EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition: SkylineMatrixBase.h:105
Namespace containing all symbols from the Eigen library.
Definition: SkylineMatrixBase.h:70
const unsigned int RowMajorBit
Index nonZeros() const
Definition: SkylineMatrixBase.h:122
Definition: SkylineMatrixBase.h:65
const internal::eval< Derived, IsSkyline >::type eval() const
Definition: SkylineMatrixBase.h:202
Base class of any skyline matrices or skyline expressions.
Definition: SkylineMatrixBase.h:26
Index outerSize() const
Definition: SkylineMatrixBase.h:128
Definition: SkylineMatrixBase.h:59
Definition: SkylineMatrixBase.h:40
Definition: SkylineMatrixBase.h:47