Home | History | Annotate | Download | only in Core

Lines Matching refs:Derived

21 template<typename Derived, typename _Lhs, typename _Rhs>
22 struct traits<ProductBase<Derived,_Lhs,_Rhs> >
46 #define EIGEN_PRODUCT_PUBLIC_INTERFACE(Derived) \
47 typedef ProductBase<Derived, Lhs, Rhs > Base; \
48 EIGEN_DENSE_PUBLIC_INTERFACE(Derived) \
62 template<typename Derived, typename Lhs, typename Rhs>
63 class ProductBase : public MatrixBase<Derived>
66 typedef MatrixBase<Derived> Base;
111 inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); }
120 derived().evalTo(m_result);
140 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
149 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
157 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
159 return derived().coeffRef(row,col);
164 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
166 return derived().coeffRef(i);
196 template<typename Derived,typename Lhs,typename Rhs>
197 const ScaledProduct<Derived>
198 operator*(const ProductBase<Derived,Lhs,Rhs>& prod, const typename Derived::Scalar& x)
199 { return ScaledProduct<Derived>(prod.derived(), x); }
201 template<typename Derived,typename Lhs,typename Rhs>
202 typename internal::enable_if<!internal::is_same<typename Derived::Scalar,typename Derived::RealScalar>::value,
203 const ScaledProduct<Derived> >::type
204 operator*(const ProductBase<Derived,Lhs,Rhs>& prod, const typename Derived::RealScalar& x)
205 { return ScaledProduct<Derived>(prod.derived(), x); }
208 template<typename Derived,typename Lhs,typename Rhs>
209 const ScaledProduct<Derived>
210 operator*(const typename Derived::Scalar& x,const ProductBase<Derived,Lhs,Rhs>& prod)
211 { return ScaledProduct<Derived>(prod.derived(), x); }
213 template<typename Derived,typename Lhs,typename Rhs>
214 typename internal::enable_if<!internal::is_same<typename Derived::Scalar,typename Derived::RealScalar>::value,
215 const ScaledProduct<Derived> >::type
216 operator*(const typename Derived::RealScalar& x,const ProductBase<Derived,Lhs,Rhs>& prod)
217 { return ScaledProduct<Derived>(prod.derived(), x); }
257 inline void scaleAndAddTo(Dest& dst, const Scalar& a_alpha) const { m_prod.derived().scaleAndAddTo(dst,a_alpha * m_alpha); }
268 template<typename Derived>
270 Derived& MatrixBase<Derived>::lazyAssign(const ProductBase<ProductDerived, Lhs,Rhs>& other)
272 other.derived().evalTo(derived());
273 return derived();