10#ifndef EIGEN_SPARSEPRODUCT_H
11#define EIGEN_SPARSEPRODUCT_H
26template<
typename Derived>
27template<
typename OtherDerived>
28inline const Product<Derived,OtherDerived,AliasFreeProduct>
37template<
typename Lhs,
typename Rhs,
int ProductType>
40 template<
typename Dest>
41 static void evalTo(
Dest&
dst,
const Lhs& lhs,
const Rhs& rhs)
43 evalTo(
dst, lhs, rhs,
typename evaluator_traits<Dest>::Shape());
47 template<
typename Dest,
typename ActualLhs>
48 static void addTo(
Dest&
dst,
const ActualLhs& lhs,
const Rhs& rhs,
typename enable_if<
is_same<
typename evaluator_traits<Dest>::Shape,
DenseShape>::value,
int*>::type* = 0)
59 template<
typename Dest>
60 static void subTo(
Dest&
dst,
const Lhs& lhs,
const Rhs& rhs,
typename enable_if<
is_same<
typename evaluator_traits<Dest>::Shape,
DenseShape>::value,
int*>::type* = 0)
62 addTo(
dst, -lhs, rhs);
68 template<
typename Dest>
80 template<
typename Dest>
89template<
typename Lhs,
typename Rhs,
int ProductType>
95template<
typename Lhs,
typename Rhs,
int ProductType>
101template<
typename DstXprType,
typename Lhs,
typename Rhs>
117template<
typename DstXprType,
typename Lhs,
typename Rhs>
128template<
typename DstXprType,
typename Lhs,
typename Rhs>
138template<
typename Lhs,
typename Rhs,
int Options>
140 :
public evaluator<typename Product<Lhs, Rhs, DefaultProduct>::PlainObject>
147 : m_result(
xpr.rows(),
xpr.cols())
150 ::new (
static_cast<Base*
>(
this))
Base(m_result);
158 abs(
xpr.reference())*
xpr.epsilon());
169template<
typename Scalar,
int _Options,
typename _StorageIndex>
170template<
typename Lhs,
typename Rhs>
EIGEN_DEVICE_FUNC void resize(Index newSize)
Only plain matrices/arrays, not expressions, may be resized; therefore the only useful resize methods...
Definition DenseBase.h:246
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void swap(const DenseBase< OtherDerived > &other)
swaps *this with the expression other.
Definition DenseBase.h:420
EIGEN_DEVICE_FUNC Derived & setZero()
Sets all coefficients in this expression to zero.
Definition CwiseNullaryOp.h:546
Base class for all dense matrices, vectors, and expressions.
Definition MatrixBase.h:50
Expression of the product of two arbitrary matrices or vectors.
Definition Product.h:75
Base class of any sparse matrices or sparse expressions.
Definition SparseMatrixBase.h:28
A versatible sparse matrix representation.
Definition SparseMatrix.h:98
Expression of a dense or sparse matrix with zero or too small values removed.
Definition SparseView.h:46
Namespace containing all symbols from the Eigen library.
Definition LDLT.h:16
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
Definition Constants.h:528
Definition Constants.h:537
Definition AssignEvaluator.h:824
Definition Constants.h:545
Definition SparseAssign.h:62
Definition SparseUtil.h:137
Definition AssignmentFunctors.h:46
Definition AssignmentFunctors.h:21
Definition ConservativeSparseSparseProduct.h:131
Definition CoreEvaluators.h:91
Definition ProductEvaluators.h:86
Definition SparseSparseProductWithPruning.h:84
Definition ConservativeSparseSparseProduct.h:304
Definition AssignmentFunctors.h:67
Definition CoreEvaluators.h:65