Home | History | Annotate | Download | only in SparseCore

Lines Matching refs:Lhs

15 template<typename Lhs, typename Rhs, int InnerSize> struct SparseDenseProductReturnType
17 typedef SparseTimeDenseProduct<Lhs,Rhs> Type;
20 template<typename Lhs, typename Rhs> struct SparseDenseProductReturnType<Lhs,Rhs,1>
22 typedef SparseDenseOuterProduct<Lhs,Rhs,false> Type;
25 template<typename Lhs, typename Rhs, int InnerSize> struct DenseSparseProductReturnType
27 typedef DenseTimeSparseProduct<Lhs,Rhs> Type;
30 template<typename Lhs, typename Rhs> struct DenseSparseProductReturnType<Lhs,Rhs,1>
32 typedef SparseDenseOuterProduct<Rhs,Lhs,true> Type;
37 template<typename Lhs, typename Rhs, bool Tr>
38 struct traits<SparseDenseOuterProduct<Lhs,Rhs,Tr> >
41 typedef typename scalar_product_traits<typename traits<Lhs>::Scalar,
43 typedef typename Lhs::Index Index;
44 typedef typename Lhs::Nested LhsNested;
53 RowsAtCompileTime = Tr ? int(traits<Rhs>::RowsAtCompileTime) : int(traits<Lhs>::RowsAtCompileTime),
54 ColsAtCompileTime = Tr ? int(traits<Lhs>::ColsAtCompileTime) : int(traits<Rhs>::ColsAtCompileTime),
55 MaxRowsAtCompileTime = Tr ? int(traits<Rhs>::MaxRowsAtCompileTime) : int(traits<Lhs>::MaxRowsAtCompileTime),
56 MaxColsAtCompileTime = Tr ? int(traits<Lhs>::MaxColsAtCompileTime) : int(traits<Rhs>::MaxColsAtCompileTime),
66 template<typename Lhs, typename Rhs, bool Tr>
68 : public SparseMatrixBase<SparseDenseOuterProduct<Lhs,Rhs,Tr> >
87 EIGEN_STRONG_INLINE SparseDenseOuterProduct(const Lhs& lhs, const Rhs& rhs)
88 : m_lhs(lhs), m_rhs(rhs)
93 EIGEN_STRONG_INLINE SparseDenseOuterProduct(const Rhs& rhs, const Lhs& lhs)
94 : m_lhs(lhs), m_rhs(rhs)
102 EIGEN_STRONG_INLINE const _LhsNested& lhs() const { return m_lhs; }
110 template<typename Lhs, typename Rhs, bool Transpose>
111 class SparseDenseOuterProduct<Lhs,Rhs,Transpose>::InnerIterator : public _LhsNested::InnerIterator
116 : Base(prod.lhs(), 0), m_outer(outer), m_factor(prod.rhs().coeff(outer))
132 template<typename Lhs, typename Rhs>
133 struct traits<SparseTimeDenseProduct<Lhs,Rhs> >
134 : traits<ProductBase<SparseTimeDenseProduct<Lhs,Rhs>, Lhs, Rhs> >
148 typedef typename internal::remove_all<SparseLhsType>::type Lhs;
151 typedef typename Lhs::Index Index;
152 typedef typename Lhs::InnerIterator LhsInnerIterator;
153 static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, typename Res::Scalar alpha)
157 int n = lhs.outerSize();
161 for(LhsInnerIterator it(lhs,j); it ;++it)
172 typedef typename internal::remove_all<SparseLhsType>::type Lhs;
175 typedef typename Lhs::InnerIterator LhsInnerIterator;
176 typedef typename Lhs::Index Index;
177 static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, typename Res::Scalar alpha)
181 for(Index j=0; j<lhs.outerSize(); ++j)
184 for(LhsInnerIterator it(lhs,j); it ;++it)
194 typedef typename internal::remove_all<SparseLhsType>::type Lhs;
197 typedef typename Lhs::InnerIterator LhsInnerIterator;
198 typedef typename Lhs::Index Index;
199 static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, typename Res::Scalar alpha)
201 for(Index j=0; j<lhs.outerSize(); ++j)
204 for(LhsInnerIterator it(lhs,j); it ;++it)
213 typedef typename internal::remove_all<SparseLhsType>::type Lhs;
216 typedef typename Lhs::InnerIterator LhsInnerIterator;
217 typedef typename Lhs::Index Index;
218 static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, typename Res::Scalar alpha)
220 for(Index j=0; j<lhs.outerSize(); ++j)
223 for(LhsInnerIterator it(lhs,j); it ;++it)
230 inline void sparse_time_dense_product(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const AlphaType& alpha)
232 sparse_time_dense_product_impl<SparseLhsType,DenseRhsType,DenseResType>::run(lhs, rhs, res, alpha);
237 template<typename Lhs, typename Rhs>
239 : public ProductBase<SparseTimeDenseProduct<Lhs,Rhs>, Lhs, Rhs>
244 SparseTimeDenseProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)
259 template<typename Lhs, typename Rhs>
260 struct traits<DenseTimeSparseProduct<Lhs,Rhs> >
261 : traits<ProductBase<DenseTimeSparseProduct<Lhs,Rhs>, Lhs, Rhs> >
267 template<typename Lhs, typename Rhs>
269 : public ProductBase<DenseTimeSparseProduct<Lhs,Rhs>, Lhs, Rhs>
274 DenseTimeSparseProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)