Home | History | Annotate | Download | only in SparseCore

Lines Matching defs: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>
23 Lhs::IsRowMajor,
24 SparseDenseOuterProduct<Rhs,Lhs,true>,
25 SparseDenseOuterProduct<Lhs,Rhs,false> >::type Type;
28 template<typename Lhs, typename Rhs, int InnerSize> struct DenseSparseProductReturnType
30 typedef DenseTimeSparseProduct<Lhs,Rhs> Type;
33 template<typename Lhs, typename Rhs> struct DenseSparseProductReturnType<Lhs,Rhs,1>
37 SparseDenseOuterProduct<Rhs,Lhs,true>,
38 SparseDenseOuterProduct<Lhs,Rhs,false> >::type Type;
43 template<typename Lhs, typename Rhs, bool Tr>
44 struct traits<SparseDenseOuterProduct<Lhs,Rhs,Tr> >
47 typedef typename scalar_product_traits<typename traits<Lhs>::Scalar,
49 typedef typename Lhs::Index Index;
50 typedef typename Lhs::Nested LhsNested;
59 RowsAtCompileTime = Tr ? int(traits<Rhs>::RowsAtCompileTime) : int(traits<Lhs>::RowsAtCompileTime),
60 ColsAtCompileTime = Tr ? int(traits<Lhs>::ColsAtCompileTime) : int(traits<Rhs>::ColsAtCompileTime),
61 MaxRowsAtCompileTime = Tr ? int(traits<Rhs>::MaxRowsAtCompileTime) : int(traits<Lhs>::MaxRowsAtCompileTime),
62 MaxColsAtCompileTime = Tr ? int(traits<Lhs>::MaxColsAtCompileTime) : int(traits<Rhs>::MaxColsAtCompileTime),
72 template<typename Lhs, typename Rhs, bool Tr>
74 : public SparseMatrixBase<SparseDenseOuterProduct<Lhs,Rhs,Tr> >
93 EIGEN_STRONG_INLINE SparseDenseOuterProduct(const Lhs& lhs, const Rhs& rhs)
94 : m_lhs(lhs), m_rhs(rhs)
99 EIGEN_STRONG_INLINE SparseDenseOuterProduct(const Rhs& rhs, const Lhs& lhs)
100 : m_lhs(lhs), m_rhs(rhs)
108 EIGEN_STRONG_INLINE const _LhsNested& lhs() const { return m_lhs; }
116 template<typename Lhs, typename Rhs, bool Transpose>
117 class SparseDenseOuterProduct<Lhs,Rhs,Transpose>::InnerIterator : public _LhsNested::InnerIterator
123 : Base(prod.lhs(), 0), m_outer(outer), m_factor(get(prod.rhs(), outer, typename internal::traits<Rhs>::StorageKind() ))
152 template<typename Lhs, typename Rhs>
153 struct traits<SparseTimeDenseProduct<Lhs,Rhs> >
154 : traits<ProductBase<SparseTimeDenseProduct<Lhs,Rhs>, Lhs, Rhs> >
168 typedef typename internal::remove_all<SparseLhsType>::type Lhs;
171 typedef typename Lhs::Index Index;
172 typedef typename Lhs::InnerIterator LhsInnerIterator;
173 static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const typename Res::Scalar& alpha)
177 Index n = lhs.outerSize();
181 for(LhsInnerIterator it(lhs,j); it ;++it)
192 typedef typename internal::remove_all<SparseLhsType>::type Lhs;
195 typedef typename Lhs::InnerIterator LhsInnerIterator;
196 typedef typename Lhs::Index Index;
197 static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const typename Res::Scalar& alpha)
201 for(Index j=0; j<lhs.outerSize(); ++j)
204 for(LhsInnerIterator it(lhs,j); it ;++it)
214 typedef typename internal::remove_all<SparseLhsType>::type Lhs;
217 typedef typename Lhs::InnerIterator LhsInnerIterator;
218 typedef typename Lhs::Index Index;
219 static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const typename Res::Scalar& alpha)
221 for(Index j=0; j<lhs.outerSize(); ++j)
224 for(LhsInnerIterator it(lhs,j); it ;++it)
233 typedef typename internal::remove_all<SparseLhsType>::type Lhs;
236 typedef typename Lhs::InnerIterator LhsInnerIterator;
237 typedef typename Lhs::Index Index;
238 static void run(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const typename Res::Scalar& alpha)
240 for(Index j=0; j<lhs.outerSize(); ++j)
243 for(LhsInnerIterator it(lhs,j); it ;++it)
250 inline void sparse_time_dense_product(const SparseLhsType& lhs, const DenseRhsType& rhs, DenseResType& res, const AlphaType& alpha)
252 sparse_time_dense_product_impl<SparseLhsType,DenseRhsType,DenseResType>::run(lhs, rhs, res, alpha);
257 template<typename Lhs, typename Rhs>
259 : public ProductBase<SparseTimeDenseProduct<Lhs,Rhs>, Lhs, Rhs>
264 SparseTimeDenseProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)
279 template<typename Lhs, typename Rhs>
280 struct traits<DenseTimeSparseProduct<Lhs,Rhs> >
281 : traits<ProductBase<DenseTimeSparseProduct<Lhs,Rhs>, Lhs, Rhs> >
287 template<typename Lhs, typename Rhs>
289 : public ProductBase<DenseTimeSparseProduct<Lhs,Rhs>, Lhs, Rhs>
294 DenseTimeSparseProduct(const Lhs& lhs, const Rhs& rhs) : Base(lhs,rhs)