10#ifndef EIGEN_SPARSE_CWISE_BINARY_OP_H
11#define EIGEN_SPARSE_CWISE_BINARY_OP_H
35template<
typename BinaryOp,
typename Lhs,
typename Rhs>
49 THE_STORAGE_ORDER_OF_BOTH_SIDES_MUST_MATCH);
59template<
typename BinaryOp,
typename Lhs,
typename Rhs>
76 : m_lhsIter(aEval.m_lhsImpl,outer), m_rhsIter(aEval.m_rhsImpl,outer), m_functor(aEval.m_functor)
83 if (m_lhsIter && m_rhsIter && (m_lhsIter.index() == m_rhsIter.index()))
85 m_id = m_lhsIter.
index();
86 m_value = m_functor(m_lhsIter.value(), m_rhsIter.value());
90 else if (m_lhsIter && (!m_rhsIter || (m_lhsIter.index() < m_rhsIter.index())))
92 m_id = m_lhsIter.index();
93 m_value = m_functor(m_lhsIter.value(),
Scalar(0));
96 else if (m_rhsIter && (!m_lhsIter || (m_lhsIter.index() > m_rhsIter.index())))
98 m_id = m_rhsIter.index();
99 m_value = m_functor(
Scalar(0), m_rhsIter.value());
130 Flags = XprType::Flags
134 : m_functor(xpr.functor()),
135 m_lhsImpl(xpr.lhs()),
143 return m_lhsImpl.nonZerosEstimate() + m_rhsImpl.nonZerosEstimate();
153template<
typename BinaryOp,
typename Lhs,
typename Rhs>
170 : m_lhsEval(aEval.m_lhsImpl), m_rhsIter(aEval.m_rhsImpl,outer), m_functor(aEval.m_functor), m_value(0), m_id(-1), m_innerSize(aEval.m_expr.rhs().innerSize())
180 Scalar lhsVal = m_lhsEval.coeff(IsRowMajor?m_rhsIter.outer():m_id,
181 IsRowMajor?m_id:m_rhsIter.outer());
182 if(m_rhsIter && m_rhsIter.index()==m_id)
184 m_value = m_functor(lhsVal, m_rhsIter.value());
188 m_value = m_functor(lhsVal,
Scalar(0));
215 Flags = XprType::Flags
219 : m_functor(xpr.functor()),
220 m_lhsImpl(xpr.lhs()),
221 m_rhsImpl(xpr.rhs()),
229 return m_expr.size();
240template<
typename BinaryOp,
typename Lhs,
typename Rhs>
257 : m_lhsIter(aEval.m_lhsImpl,outer), m_rhsEval(aEval.m_rhsImpl), m_functor(aEval.m_functor), m_value(0), m_id(-1), m_innerSize(aEval.m_expr.lhs().innerSize())
267 Scalar rhsVal = m_rhsEval.coeff(IsRowMajor?m_lhsIter.outer():m_id,
268 IsRowMajor?m_id:m_lhsIter.outer());
269 if(m_lhsIter && m_lhsIter.index()==m_id)
271 m_value = m_functor(m_lhsIter.value(), rhsVal);
302 Flags = XprType::Flags
306 : m_functor(xpr.functor()),
307 m_lhsImpl(xpr.lhs()),
308 m_rhsImpl(xpr.rhs()),
316 return m_expr.size();
333template<
typename T1,
typename T2,
typename Lhs,
typename Rhs>
342template<
typename T1,
typename T2,
typename Lhs,
typename Rhs>
351template<
typename T1,
typename T2,
typename Lhs,
typename Rhs>
361template<
typename T1,
typename T2,
typename Lhs,
typename Rhs>
371template<
typename Lhs,
typename Rhs>
380template<
typename Lhs,
typename Rhs>
389template<
typename Lhs,
typename Rhs>
399template<
typename XprType>
418 : m_lhsIter(aEval.m_lhsImpl,outer), m_rhsIter(aEval.m_rhsImpl,outer), m_functor(aEval.m_functor)
420 while (m_lhsIter && m_rhsIter && (m_lhsIter.index() != m_rhsIter.index()))
422 if (m_lhsIter.index() < m_rhsIter.index())
433 while (m_lhsIter && m_rhsIter && (m_lhsIter.index() != m_rhsIter.index()))
435 if (m_lhsIter.index() < m_rhsIter.index())
461 Flags = XprType::Flags
465 : m_functor(xpr.functor()),
466 m_lhsImpl(xpr.lhs()),
474 return (
std::min)(m_lhsImpl.nonZerosEstimate(), m_rhsImpl.nonZerosEstimate());
484template<
typename XprType>
505 : m_lhsEval(aEval.m_lhsImpl), m_rhsIter(aEval.m_rhsImpl,outer), m_functor(aEval.m_functor), m_outer(outer)
515 {
return m_functor(m_lhsEval.coeff(IsRowMajor?m_outer:m_rhsIter.index(),IsRowMajor?m_rhsIter.index():m_outer), m_rhsIter.value()); }
534 Flags = XprType::Flags
538 : m_functor(xpr.functor()),
539 m_lhsImpl(xpr.lhs()),
547 return m_rhsImpl.nonZerosEstimate();
557template<
typename XprType>
578 : m_lhsIter(aEval.m_lhsImpl,outer), m_rhsEval(aEval.m_rhsImpl), m_functor(aEval.m_functor), m_outer(outer)
588 {
return m_functor(m_lhsIter.value(),
589 m_rhsEval.coeff(IsRowMajor?m_outer:m_lhsIter.index(),IsRowMajor?m_lhsIter.index():m_outer)); }
608 Flags = XprType::Flags
612 : m_functor(xpr.functor()),
613 m_lhsImpl(xpr.lhs()),
621 return m_lhsImpl.nonZerosEstimate();
636template<
typename Derived>
637template<
typename OtherDerived>
644template<
typename Derived>
645template<
typename OtherDerived>
652template<
typename Derived>
653template<
typename OtherDerived>
657 return derived() = derived() - other.
derived();
660template<
typename Derived>
661template<
typename OtherDerived>
665 return derived() = derived() + other.
derived();
668template<
typename Derived>
669template<
typename OtherDerived>
676template<
typename Derived>
677template<
typename OtherDerived>
684template<
typename Derived>
685template<
typename OtherDerived>
692template<
typename DenseDerived,
typename SparseDerived>
699template<
typename SparseDerived,
typename DenseDerived>
700EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_sum_op<typename SparseDerived::Scalar,typename DenseDerived::Scalar>,
const SparseDerived,
const DenseDerived>
706template<
typename DenseDerived,
typename SparseDerived>
707EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_difference_op<typename DenseDerived::Scalar,typename SparseDerived::Scalar>,
const DenseDerived,
const SparseDerived>
713template<
typename SparseDerived,
typename DenseDerived>
714EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_difference_op<typename SparseDerived::Scalar,typename DenseDerived::Scalar>,
const SparseDerived,
const DenseDerived>
#define eigen_internal_assert(x)
Definition: Macros.h:1053
#define EIGEN_STRONG_INLINE
Definition: Macros.h:927
#define EIGEN_SPARSE_PUBLIC_INTERFACE(Derived)
Definition: SparseUtil.h:43
#define EIGEN_INTERNAL_CHECK_COST_VALUE(C)
Definition: StaticAssert.h:218
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
Generic expression where a coefficient-wise binary operator is applied to two expressions.
Definition: CwiseBinaryOp.h:84
CwiseBinaryOp< BinaryOp, Lhs, Rhs > Derived
Definition: SparseCwiseBinaryOp.h:40
SparseMatrixBase< Derived > Base
Definition: SparseCwiseBinaryOp.h:41
Definition: CwiseBinaryOp.h:150
Definition: DiagonalMatrix.h:19
EIGEN_DEVICE_FUNC const Derived & derived() const
Definition: DiagonalMatrix.h:41
An InnerIterator allows to loop over the element of any matrix expression.
Definition: CoreIterators.h:34
EIGEN_STRONG_INLINE Index index() const
Definition: CoreIterators.h:57
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:50
Base class of any sparse matrices or sparse expressions.
Definition: SparseMatrixBase.h:28
const Derived & derived() const
Definition: SparseMatrixBase.h:143
internal::traits< Block< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true > >::Scalar Scalar
Definition: SparseMatrixBase.h:31
Derived & operator-=(const SparseMatrixBase< OtherDerived > &other)
Derived & operator+=(const SparseMatrixBase< OtherDerived > &other)
EIGEN_STRONG_INLINE const CwiseProductDenseReturnType< OtherDerived >::Type cwiseProduct(const MatrixBase< OtherDerived > &other) const
const BinaryOp & m_functor
Definition: SparseCwiseBinaryOp.h:293
EIGEN_STRONG_INLINE Index col() const
Definition: SparseCwiseBinaryOp.h:286
EIGEN_STRONG_INLINE Index row() const
Definition: SparseCwiseBinaryOp.h:285
StorageIndex m_id
Definition: SparseCwiseBinaryOp.h:295
EIGEN_STRONG_INLINE InnerIterator & operator++()
Definition: SparseCwiseBinaryOp.h:262
Scalar m_value
Definition: SparseCwiseBinaryOp.h:294
EIGEN_STRONG_INLINE InnerIterator(const binary_evaluator &aEval, Index outer)
Definition: SparseCwiseBinaryOp.h:256
const evaluator< Rhs > & m_rhsEval
Definition: SparseCwiseBinaryOp.h:292
EIGEN_STRONG_INLINE Scalar value() const
Definition: SparseCwiseBinaryOp.h:281
LhsIterator m_lhsIter
Definition: SparseCwiseBinaryOp.h:291
StorageIndex m_innerSize
Definition: SparseCwiseBinaryOp.h:296
EIGEN_STRONG_INLINE Index outer() const
Definition: SparseCwiseBinaryOp.h:284
EIGEN_STRONG_INLINE StorageIndex index() const
Definition: SparseCwiseBinaryOp.h:283
EIGEN_STRONG_INLINE Scalar value() const
Definition: SparseCwiseBinaryOp.h:110
EIGEN_STRONG_INLINE Index outer() const
Definition: SparseCwiseBinaryOp.h:113
EIGEN_STRONG_INLINE StorageIndex index() const
Definition: SparseCwiseBinaryOp.h:112
EIGEN_STRONG_INLINE InnerIterator(const binary_evaluator &aEval, Index outer)
Definition: SparseCwiseBinaryOp.h:75
RhsIterator m_rhsIter
Definition: SparseCwiseBinaryOp.h:121
const BinaryOp & m_functor
Definition: SparseCwiseBinaryOp.h:122
Scalar m_value
Definition: SparseCwiseBinaryOp.h:123
StorageIndex m_id
Definition: SparseCwiseBinaryOp.h:124
LhsIterator m_lhsIter
Definition: SparseCwiseBinaryOp.h:120
EIGEN_STRONG_INLINE InnerIterator & operator++()
Definition: SparseCwiseBinaryOp.h:81
EIGEN_STRONG_INLINE Index row() const
Definition: SparseCwiseBinaryOp.h:114
EIGEN_STRONG_INLINE Index col() const
Definition: SparseCwiseBinaryOp.h:115
RhsIterator m_rhsIter
Definition: SparseCwiseBinaryOp.h:205
EIGEN_STRONG_INLINE Index col() const
Definition: SparseCwiseBinaryOp.h:199
const evaluator< Lhs > & m_lhsEval
Definition: SparseCwiseBinaryOp.h:204
EIGEN_STRONG_INLINE InnerIterator(const binary_evaluator &aEval, Index outer)
Definition: SparseCwiseBinaryOp.h:169
const BinaryOp & m_functor
Definition: SparseCwiseBinaryOp.h:206
Scalar m_value
Definition: SparseCwiseBinaryOp.h:207
EIGEN_STRONG_INLINE Index outer() const
Definition: SparseCwiseBinaryOp.h:197
EIGEN_STRONG_INLINE Scalar value() const
Definition: SparseCwiseBinaryOp.h:194
EIGEN_STRONG_INLINE InnerIterator & operator++()
Definition: SparseCwiseBinaryOp.h:175
StorageIndex m_id
Definition: SparseCwiseBinaryOp.h:208
EIGEN_STRONG_INLINE Index row() const
Definition: SparseCwiseBinaryOp.h:198
StorageIndex m_innerSize
Definition: SparseCwiseBinaryOp.h:209
EIGEN_STRONG_INLINE StorageIndex index() const
Definition: SparseCwiseBinaryOp.h:196
EIGEN_STRONG_INLINE StorageIndex index() const
Definition: SparseCwiseBinaryOp.h:517
EIGEN_STRONG_INLINE InnerIterator & operator++()
Definition: SparseCwiseBinaryOp.h:508
EIGEN_STRONG_INLINE Index outer() const
Definition: SparseCwiseBinaryOp.h:518
const Index m_outer
Definition: SparseCwiseBinaryOp.h:528
EIGEN_STRONG_INLINE InnerIterator(const sparse_conjunction_evaluator &aEval, Index outer)
Definition: SparseCwiseBinaryOp.h:504
EIGEN_STRONG_INLINE Index row() const
Definition: SparseCwiseBinaryOp.h:519
EIGEN_STRONG_INLINE Index col() const
Definition: SparseCwiseBinaryOp.h:520
const LhsEvaluator & m_lhsEval
Definition: SparseCwiseBinaryOp.h:525
RhsIterator m_rhsIter
Definition: SparseCwiseBinaryOp.h:526
EIGEN_STRONG_INLINE Scalar value() const
Definition: SparseCwiseBinaryOp.h:514
const BinaryOp & m_functor
Definition: SparseCwiseBinaryOp.h:527
EIGEN_STRONG_INLINE Index col() const
Definition: SparseCwiseBinaryOp.h:594
LhsIterator m_lhsIter
Definition: SparseCwiseBinaryOp.h:599
EIGEN_STRONG_INLINE InnerIterator & operator++()
Definition: SparseCwiseBinaryOp.h:581
EIGEN_STRONG_INLINE StorageIndex index() const
Definition: SparseCwiseBinaryOp.h:591
const Index m_outer
Definition: SparseCwiseBinaryOp.h:602
const BinaryOp & m_functor
Definition: SparseCwiseBinaryOp.h:601
EIGEN_STRONG_INLINE Index row() const
Definition: SparseCwiseBinaryOp.h:593
EIGEN_STRONG_INLINE InnerIterator(const sparse_conjunction_evaluator &aEval, Index outer)
Definition: SparseCwiseBinaryOp.h:577
const evaluator< RhsArg > & m_rhsEval
Definition: SparseCwiseBinaryOp.h:600
EIGEN_STRONG_INLINE Scalar value() const
Definition: SparseCwiseBinaryOp.h:587
EIGEN_STRONG_INLINE Index outer() const
Definition: SparseCwiseBinaryOp.h:592
EIGEN_STRONG_INLINE Scalar value() const
Definition: SparseCwiseBinaryOp.h:443
EIGEN_STRONG_INLINE Index col() const
Definition: SparseCwiseBinaryOp.h:448
const BinaryOp & m_functor
Definition: SparseCwiseBinaryOp.h:455
EIGEN_STRONG_INLINE Index outer() const
Definition: SparseCwiseBinaryOp.h:446
EIGEN_STRONG_INLINE StorageIndex index() const
Definition: SparseCwiseBinaryOp.h:445
EIGEN_STRONG_INLINE InnerIterator & operator++()
Definition: SparseCwiseBinaryOp.h:429
EIGEN_STRONG_INLINE InnerIterator(const sparse_conjunction_evaluator &aEval, Index outer)
Definition: SparseCwiseBinaryOp.h:417
RhsIterator m_rhsIter
Definition: SparseCwiseBinaryOp.h:454
EIGEN_STRONG_INLINE Index row() const
Definition: SparseCwiseBinaryOp.h:447
LhsIterator m_lhsIter
Definition: SparseCwiseBinaryOp.h:453
const unsigned int RowMajorBit
for a matrix, this means that the storage order is row-major.
Definition: Constants.h:66
constexpr common_t< T1, T2 > min(const T1 x, const T2 y) noexcept
Compile-time pairwise minimum function.
Definition: min.hpp:35
Type
Definition: Constants.h:471
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment_no_alias(Dst &dst, const Src &src, const Func &func)
Definition: AssignEvaluator.h:873
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment(Dst &dst, const Src &src)
Definition: AssignEvaluator.h:834
Namespace containing all symbols from the Eigen library.
Definition: Core:141
EIGEN_STRONG_INLINE const CwiseBinaryOp< internal::scalar_sum_op< typename DenseDerived::Scalar, typename SparseDerived::Scalar >, const DenseDerived, const SparseDerived > operator+(const MatrixBase< DenseDerived > &a, const SparseMatrixBase< SparseDerived > &b)
Definition: SparseCwiseBinaryOp.h:694
EIGEN_STRONG_INLINE const CwiseBinaryOp< internal::scalar_difference_op< typename DenseDerived::Scalar, typename SparseDerived::Scalar >, const DenseDerived, const SparseDerived > operator-(const MatrixBase< DenseDerived > &a, const SparseMatrixBase< SparseDerived > &b)
Definition: SparseCwiseBinaryOp.h:708
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
Definition: Eigen_Colamd.h:50
unit_t< Units, T, NonLinearScale > & operator++(unit_t< Units, T, NonLinearScale > &u) noexcept
Definition: base.h:2346
Common base class for all classes T such that MatrixBase has an operator=(T) and a constructor Matrix...
Definition: EigenBase.h:30
EIGEN_DEVICE_FUNC Derived & derived()
Definition: EigenBase.h:46
The type used to identify a general sparse storage.
Definition: Constants.h:510
Definition: Constants.h:542
Definition: Constants.h:545
Definition: AssignmentFunctors.h:46
Definition: AssignmentFunctors.h:21
const BinaryOp m_functor
Definition: SparseCwiseBinaryOp.h:147
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:133
evaluator< Rhs >::InnerIterator RhsIterator
Definition: SparseCwiseBinaryOp.h:65
evaluator< Rhs > m_rhsImpl
Definition: SparseCwiseBinaryOp.h:149
Index nonZerosEstimate() const
Definition: SparseCwiseBinaryOp.h:142
traits< XprType >::Scalar Scalar
Definition: SparseCwiseBinaryOp.h:67
evaluator< Lhs > m_lhsImpl
Definition: SparseCwiseBinaryOp.h:148
evaluator< Lhs >::InnerIterator LhsIterator
Definition: SparseCwiseBinaryOp.h:64
CwiseBinaryOp< BinaryOp, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:66
XprType::StorageIndex StorageIndex
Definition: SparseCwiseBinaryOp.h:68
XprType::StorageIndex StorageIndex
Definition: SparseCwiseBinaryOp.h:248
const XprType & m_expr
Definition: SparseCwiseBinaryOp.h:323
Index nonZerosEstimate() const
Definition: SparseCwiseBinaryOp.h:315
traits< XprType >::Scalar Scalar
Definition: SparseCwiseBinaryOp.h:247
evaluator< Lhs >::InnerIterator LhsIterator
Definition: SparseCwiseBinaryOp.h:245
const BinaryOp m_functor
Definition: SparseCwiseBinaryOp.h:320
CwiseBinaryOp< BinaryOp, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:246
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:305
evaluator< Lhs > m_lhsImpl
Definition: SparseCwiseBinaryOp.h:321
evaluator< Rhs > m_rhsImpl
Definition: SparseCwiseBinaryOp.h:322
CwiseBinaryOp< BinaryOp, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:159
evaluator< Rhs > m_rhsImpl
Definition: SparseCwiseBinaryOp.h:235
Index nonZerosEstimate() const
Definition: SparseCwiseBinaryOp.h:228
const XprType & m_expr
Definition: SparseCwiseBinaryOp.h:236
evaluator< Lhs > m_lhsImpl
Definition: SparseCwiseBinaryOp.h:234
XprType::StorageIndex StorageIndex
Definition: SparseCwiseBinaryOp.h:161
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:218
traits< XprType >::Scalar Scalar
Definition: SparseCwiseBinaryOp.h:160
evaluator< Rhs >::InnerIterator RhsIterator
Definition: SparseCwiseBinaryOp.h:158
const BinaryOp m_functor
Definition: SparseCwiseBinaryOp.h:233
CwiseBinaryOp< scalar_boolean_and_op, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:375
sparse_conjunction_evaluator< XprType > Base
Definition: SparseCwiseBinaryOp.h:376
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:377
CwiseBinaryOp< scalar_boolean_and_op, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:384
sparse_conjunction_evaluator< XprType > Base
Definition: SparseCwiseBinaryOp.h:385
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:386
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:395
sparse_conjunction_evaluator< XprType > Base
Definition: SparseCwiseBinaryOp.h:394
CwiseBinaryOp< scalar_boolean_and_op, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:393
sparse_conjunction_evaluator< XprType > Base
Definition: SparseCwiseBinaryOp.h:347
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:348
CwiseBinaryOp< scalar_product_op< T1, T2 >, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:346
sparse_conjunction_evaluator< XprType > Base
Definition: SparseCwiseBinaryOp.h:338
CwiseBinaryOp< scalar_product_op< T1, T2 >, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:337
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:339
CwiseBinaryOp< scalar_product_op< T1, T2 >, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:355
sparse_conjunction_evaluator< XprType > Base
Definition: SparseCwiseBinaryOp.h:356
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:357
sparse_conjunction_evaluator< XprType > Base
Definition: SparseCwiseBinaryOp.h:366
CwiseBinaryOp< scalar_quotient_op< T1, T2 >, Lhs, Rhs > XprType
Definition: SparseCwiseBinaryOp.h:365
binary_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:367
Definition: CoreEvaluators.h:61
Definition: SparseCwiseBinaryOp.h:57
Definition: CoreEvaluators.h:111
Definition: CoreEvaluators.h:91
Definition: XprHelper.h:176
Definition: BinaryFunctors.h:409
Definition: BinaryFunctors.h:71
Definition: BinaryFunctors.h:379
XprType::Rhs RhsArg
Definition: SparseCwiseBinaryOp.h:491
XprType::Functor BinaryOp
Definition: SparseCwiseBinaryOp.h:489
sparse_conjunction_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:537
XprType::Lhs LhsArg
Definition: SparseCwiseBinaryOp.h:490
traits< XprType >::Scalar Scalar
Definition: SparseCwiseBinaryOp.h:495
evaluator< RhsArg >::InnerIterator RhsIterator
Definition: SparseCwiseBinaryOp.h:493
evaluator< LhsArg > LhsEvaluator
Definition: SparseCwiseBinaryOp.h:492
evaluator< RhsArg > m_rhsImpl
Definition: SparseCwiseBinaryOp.h:553
const BinaryOp m_functor
Definition: SparseCwiseBinaryOp.h:551
evaluator< LhsArg > m_lhsImpl
Definition: SparseCwiseBinaryOp.h:552
XprType::StorageIndex StorageIndex
Definition: SparseCwiseBinaryOp.h:494
Index nonZerosEstimate() const
Definition: SparseCwiseBinaryOp.h:546
evaluator< RhsArg > m_rhsImpl
Definition: SparseCwiseBinaryOp.h:627
sparse_conjunction_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:611
XprType::Rhs RhsArg
Definition: SparseCwiseBinaryOp.h:564
XprType::Functor BinaryOp
Definition: SparseCwiseBinaryOp.h:562
Index nonZerosEstimate() const
Definition: SparseCwiseBinaryOp.h:620
XprType::StorageIndex StorageIndex
Definition: SparseCwiseBinaryOp.h:567
evaluator< LhsArg > m_lhsImpl
Definition: SparseCwiseBinaryOp.h:626
traits< XprType >::Scalar Scalar
Definition: SparseCwiseBinaryOp.h:568
evaluator< RhsArg > RhsEvaluator
Definition: SparseCwiseBinaryOp.h:566
const BinaryOp m_functor
Definition: SparseCwiseBinaryOp.h:625
evaluator< LhsArg >::InnerIterator LhsIterator
Definition: SparseCwiseBinaryOp.h:565
XprType::Lhs LhsArg
Definition: SparseCwiseBinaryOp.h:563
Index nonZerosEstimate() const
Definition: SparseCwiseBinaryOp.h:473
XprType::Functor BinaryOp
Definition: SparseCwiseBinaryOp.h:404
sparse_conjunction_evaluator(const XprType &xpr)
Definition: SparseCwiseBinaryOp.h:464
const BinaryOp m_functor
Definition: SparseCwiseBinaryOp.h:478
traits< XprType >::Scalar Scalar
Definition: SparseCwiseBinaryOp.h:410
XprType::Rhs RhsArg
Definition: SparseCwiseBinaryOp.h:406
evaluator< RhsArg >::InnerIterator RhsIterator
Definition: SparseCwiseBinaryOp.h:408
evaluator< RhsArg > m_rhsImpl
Definition: SparseCwiseBinaryOp.h:480
XprType::StorageIndex StorageIndex
Definition: SparseCwiseBinaryOp.h:409
XprType::Lhs LhsArg
Definition: SparseCwiseBinaryOp.h:405
evaluator< LhsArg > m_lhsImpl
Definition: SparseCwiseBinaryOp.h:479
evaluator< LhsArg >::InnerIterator LhsIterator
Definition: SparseCwiseBinaryOp.h:407
Definition: SparseCwiseBinaryOp.h:330
Definition: AssignmentFunctors.h:67
Definition: ForwardDeclarations.h:17