diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2009-11-15 21:12:15 -0500 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2009-11-15 21:12:15 -0500 |
commit | 955cd7f88455a46c9c31a225a6a63a6a440e3415 (patch) | |
tree | bc140098de14421fa961d86d0246a96a8e802e3c /Eigen/src/Core/DiagonalMatrix.h | |
parent | 1aaa9059c01c105a97405ddf38e671fb89656c8b (diff) |
* add PermutationMatrix
* DiagonalMatrix:
- add MaxSizeAtCompileTime parameter
- DiagonalOnTheLeft ---> OnTheLeft
- fix bug in DiagonalMatrix::setIdentity()
Diffstat (limited to 'Eigen/src/Core/DiagonalMatrix.h')
-rw-r--r-- | Eigen/src/Core/DiagonalMatrix.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Eigen/src/Core/DiagonalMatrix.h b/Eigen/src/Core/DiagonalMatrix.h index 4665fe0ca..1dec82229 100644 --- a/Eigen/src/Core/DiagonalMatrix.h +++ b/Eigen/src/Core/DiagonalMatrix.h @@ -66,7 +66,7 @@ class DiagonalBase : public AnyMatrixBase<Derived> inline int cols() const { return diagonal().size(); } template<typename MatrixDerived> - const DiagonalProduct<MatrixDerived, Derived, DiagonalOnTheLeft> + const DiagonalProduct<MatrixDerived, Derived, OnTheLeft> operator*(const MatrixBase<MatrixDerived> &matrix) const; }; @@ -88,16 +88,16 @@ void DiagonalBase<Derived>::evalTo(MatrixBase<DenseDerived> &other) const * * \sa class Matrix */ -template<typename _Scalar, int _Size> -struct ei_traits<DiagonalMatrix<_Scalar,_Size> > - : ei_traits<Matrix<_Scalar,_Size,_Size> > +template<typename _Scalar, int SizeAtCompileTime, int MaxSizeAtCompileTime> +struct ei_traits<DiagonalMatrix<_Scalar,SizeAtCompileTime,MaxSizeAtCompileTime> > + : ei_traits<Matrix<_Scalar,SizeAtCompileTime,SizeAtCompileTime,0,MaxSizeAtCompileTime,MaxSizeAtCompileTime> > { - typedef Matrix<_Scalar,_Size,1> DiagonalVectorType; + typedef Matrix<_Scalar,SizeAtCompileTime,1,0,MaxSizeAtCompileTime,1> DiagonalVectorType; }; -template<typename _Scalar, int _Size> +template<typename _Scalar, int SizeAtCompileTime, int MaxSizeAtCompileTime> class DiagonalMatrix - : public DiagonalBase<DiagonalMatrix<_Scalar,_Size> > + : public DiagonalBase<DiagonalMatrix<_Scalar,SizeAtCompileTime,MaxSizeAtCompileTime> > { public: @@ -156,8 +156,8 @@ class DiagonalMatrix inline void resize(int size) { m_diagonal.resize(size); } inline void setZero() { m_diagonal.setZero(); } inline void setZero(int size) { m_diagonal.setZero(size); } - inline void setIdentity() { m_diagonal.setIdentity(); } - inline void setIdentity(int size) { m_diagonal.setIdentity(size); } + inline void setIdentity() { m_diagonal.setOnes(); } + inline void setIdentity(int size) { m_diagonal.setOnes(size); } }; /** \class DiagonalWrapper |