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;
118 inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); }
127 derived().evalTo(m_result);
147 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
156 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
164 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
166 return derived().coeffRef(row,col);
171 EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
173 return derived().coeffRef(i);
208 template<typename Derived,typename Lhs,typename Rhs>
209 const ScaledProduct<Derived>
210 operator*(const ProductBase<Derived,Lhs,Rhs>& prod, const typename Derived::Scalar& x)
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 ProductBase<Derived,Lhs,Rhs>& prod, const typename Derived::RealScalar& x)
217 { return ScaledProduct<Derived>(prod.derived(), x); }
220 template<typename Derived,typename Lhs,typename Rhs>
221 const ScaledProduct<Derived>
222 operator*(const typename Derived::Scalar& x,const ProductBase<Derived,Lhs,Rhs>& prod)
223 { return ScaledProduct<Derived>(prod.derived(), x); }
225 template<typename Derived,typename Lhs,typename Rhs>
226 typename internal::enable_if<!internal::is_same<typename Derived::Scalar,typename Derived::RealScalar>::value,
227 const ScaledProduct<Derived> >::type
228 operator*(const typename Derived::RealScalar& x,const ProductBase<Derived,Lhs,Rhs>& prod)
229 { return ScaledProduct<Derived>(prod.derived(), x); }
269 inline void scaleAndAddTo(Dest& dst, const Scalar& a_alpha) const { m_prod.derived().scaleAndAddTo(dst,a_alpha * m_alpha); }
280 template<typename Derived>
282 Derived& MatrixBase<Derived>::lazyAssign(const ProductBase<ProductDerived, Lhs,Rhs>& other)
284 other.derived().evalTo(derived());
285 return derived();