Home | History | Annotate | Download | only in products

Lines Matching defs:rhs

32     const RhsScalar* rhs, Index rhsStride,
43 ::run(cols,rows,depth,rhs,rhsStride,lhs,lhsStride,res,resStride,alpha,blocking,info);
71 RhsMapper rhs(_rhs,rhsStride);
95 // For each horizontal panel of the rhs, and corresponding vertical panel of the lhs...
102 pack_rhs(blockB, rhs.getSubMapper(k,0), actual_kc, nc);
140 pack_rhs(blockB, rhs.getSubMapper(k,j), actual_kc, actual_nc);
167 // For each horizontal panel of the rhs, and corresponding panel of the lhs...
176 // OK, here we have selected one horizontal panel of rhs and one vertical panel of lhs.
178 // Note that this panel will be read as many times as the number of blocks in the rhs's
182 // For each kc x nc block of the rhs's horizontal panel...
187 // We pack the rhs's block into a sequential chunk of memory (L2 caching)
189 // micro horizontal panel of the large rhs's panel (e.g., rows/12 times).
191 pack_rhs(blockB, rhs.getSubMapper(k2,j2), actual_kc, actual_nc);
208 template<typename Scalar, typename Index, typename Gemm, typename Lhs, typename Rhs, typename Dest, typename BlockingType>
211 gemm_functor(const Lhs& lhs, const Rhs& rhs, Dest& dest, const Scalar& actualAlpha, BlockingType& blocking)
212 : m_lhs(lhs), m_rhs(rhs), m_dest(dest), m_actualAlpha(actualAlpha), m_blocking(blocking)
237 const Rhs& m_rhs;
405 template<typename Lhs, typename Rhs>
406 struct generic_product_impl<Lhs,Rhs,DenseShape,DenseShape,GemmProduct>
407 : generic_product_impl_base<Lhs,Rhs,generic_product_impl<Lhs,Rhs,DenseShape,DenseShape,GemmProduct> >
409 typedef typename Product<Lhs,Rhs>::Scalar Scalar;
411 typedef typename Rhs::Scalar RhsScalar;
417 typedef internal::blas_traits<Rhs> RhsBlasTraits;
422 MaxDepthAtCompileTime = EIGEN_SIZE_MIN_PREFER_FIXED(Lhs::MaxColsAtCompileTime,Rhs::MaxRowsAtCompileTime)
425 typedef generic_product_impl<Lhs,Rhs,DenseShape,DenseShape,CoeffBasedProductMode> lazyproduct;
428 static void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs)
430 if((rhs.rows()+dst.rows()+dst.cols())<20 && rhs.rows()>0)
431 lazyproduct::evalTo(dst, lhs, rhs);
435 scaleAndAddTo(dst, lhs, rhs, Scalar(1));
440 static void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs)
442 if((rhs.rows()+dst.rows()+dst.cols())<20 && rhs.rows()>0)
443 rhs);
445 scaleAndAddTo(dst,lhs, rhs, Scalar(1));
449 static void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs)
451 if((rhs.rows()+dst.rows()+dst.cols())<20 && rhs.rows()>0)
452 lazyproduct::subTo(dst, lhs, rhs);
454 scaleAndAddTo(dst, lhs, rhs, Scalar(-1));
458 static void scaleAndAddTo(Dest& dst, const Lhs& a_lhs, const Rhs& a_rhs, const Scalar& alpha)
465 typename internal::add_const_on_value_type<ActualRhsType>::type rhs = RhsBlasTraits::extract(a_rhs);
484 (GemmFunctor(lhs, rhs, dst, actualAlpha, blocking), a_lhs.rows(), a_rhs.cols(), a_lhs.cols(), Dest::Flags&RowMajorBit);