This commit is contained in:
Jitse Niesen 2010-03-21 21:59:00 +00:00
commit 525d6b655f
4 changed files with 20 additions and 5 deletions

View File

@ -160,10 +160,10 @@ DenseBase<Derived>::replicate(int rowFactor,int colFactor) const
* \sa VectorwiseOp::replicate(), DenseBase::replicate(), class Replicate
*/
template<typename ExpressionType, int Direction>
const Replicate<ExpressionType,(Direction==Vertical?Dynamic:1),(Direction==Horizontal?Dynamic:1)>
const typename VectorwiseOp<ExpressionType,Direction>::ReplicateReturnType
VectorwiseOp<ExpressionType,Direction>::replicate(int factor) const
{
return Replicate<ExpressionType,Direction==Vertical?Dynamic:1,Direction==Horizontal?Dynamic:1>
return typename VectorwiseOp<ExpressionType,Direction>::ReplicateReturnType
(_expression(),Direction==Vertical?factor:1,Direction==Horizontal?factor:1);
}

View File

@ -384,8 +384,8 @@ template<typename ExpressionType, int Direction> class VectorwiseOp
const Reverse<ExpressionType, Direction> reverse() const
{ return Reverse<ExpressionType, Direction>( _expression() ); }
const Replicate<ExpressionType,(Direction==Vertical?Dynamic:1),(Direction==Horizontal?Dynamic:1)>
replicate(int factor) const;
typedef Replicate<ExpressionType,Direction==Vertical?Dynamic:1,Direction==Horizontal?Dynamic:1> ReplicateReturnType;
const ReplicateReturnType replicate(int factor) const;
/** \nonstableyet
* \return an expression of the replication of each column (or row) of \c *this

View File

@ -186,10 +186,11 @@ struct SelfadjointProductMatrix<Lhs,LhsMode,false,Rhs,0,true>
* RhsBlasTraits::extractScalarFactor(m_rhs);
ei_assert(dst.innerStride()==1 && "not implemented yet");
ei_product_selfadjoint_vector<Scalar, (ei_traits<_ActualLhsType>::Flags&RowMajorBit) ? RowMajor : ColMajor, int(LhsUpLo), bool(LhsBlasTraits::NeedToConjugate), bool(RhsBlasTraits::NeedToConjugate)>
(
lhs.rows(), // size
&lhs.coeff(0,0), lhs.innerStride(), // lhs info
&lhs.coeff(0,0), lhs.outerStride(), // lhs info
&rhs.coeff(0), rhs.innerStride(), // rhs info
&dst.coeffRef(0), // result info
actualAlpha // scale factor

View File

@ -81,6 +81,20 @@ public:
/** Constructs and initialize the translation transformation from a vector of translation coefficients */
explicit inline Translation(const VectorType& vector) : m_coeffs(vector) {}
/** \brief Retruns the x-translation by value. **/
inline Scalar x() const { return m_coeffs.x(); }
/** \brief Retruns the y-translation by value. **/
inline Scalar y() const { return m_coeffs.y(); }
/** \brief Retruns the z-translation by value. **/
inline Scalar z() const { return m_coeffs.z(); }
/** \brief Retruns the x-translation as a reference. **/
inline Scalar& x() { return m_coeffs.x(); }
/** \brief Retruns the y-translation as a reference. **/
inline Scalar& y() { return m_coeffs.y(); }
/** \brief Retruns the z-translation as a reference. **/
inline Scalar& z() { return m_coeffs.z(); }
const VectorType& vector() const { return m_coeffs; }
VectorType& vector() { return m_coeffs; }