diff options
author | kayhman <kayhman@contact.intra.cea.fr> | 2009-11-04 15:18:12 +0100 |
---|---|---|
committer | kayhman <kayhman@contact.intra.cea.fr> | 2009-11-04 15:18:12 +0100 |
commit | 1333fe651d2b73df92cec8738097f893f698f468 (patch) | |
tree | 9ebdd3a7659707881491bd29ec7b97a735977876 /Eigen/src/Core | |
parent | 103f74161988299324d301bd9e71f04a1d5142a1 (diff) |
Added basic SkylineMatrix.
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r-- | Eigen/src/Core/MatrixBase.h | 5 | ||||
-rw-r--r-- | Eigen/src/Core/util/Constants.h | 2 | ||||
-rw-r--r-- | Eigen/src/Core/util/ForwardDeclarations.h | 5 |
3 files changed, 10 insertions, 2 deletions
diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index e5eed715b..40abe76a4 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -781,6 +781,11 @@ template<typename Derived> class MatrixBase template<typename Derived1, typename Derived2> Derived& lazyAssign(const SparseProduct<Derived1,Derived2,DenseTimeSparseProduct>& product); +// dense = skyline * dense + template<typename Derived1, typename Derived2> + Derived& lazyAssign(const SkylineProduct<Derived1,Derived2,SkylineTimeDenseProduct>& product); + + ////////// Householder module /////////// void makeHouseholderInPlace(Scalar *tau, RealScalar *beta); diff --git a/Eigen/src/Core/util/Constants.h b/Eigen/src/Core/util/Constants.h index c9735b6e4..2ab427274 100644 --- a/Eigen/src/Core/util/Constants.h +++ b/Eigen/src/Core/util/Constants.h @@ -201,7 +201,7 @@ enum { AsRequested=0, EnforceAlignedAccess=2 }; enum { ConditionalJumpCost = 5 }; enum CornerType { TopLeft, TopRight, BottomLeft, BottomRight }; enum DirectionType { Vertical, Horizontal, BothDirections }; -enum ProductEvaluationMode { NormalProduct, CacheFriendlyProduct, SparseTimeSparseProduct, SparseTimeDenseProduct, DenseTimeSparseProduct }; +enum ProductEvaluationMode { NormalProduct, CacheFriendlyProduct, SparseTimeSparseProduct, SparseTimeDenseProduct, DenseTimeSparseProduct, SkylineTimeDenseProduct }; enum { /** \internal Equivalent to a slice vectorization for fixed-size matrices having good alignment diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h index 86df5395e..af3ad8921 100644 --- a/Eigen/src/Core/util/ForwardDeclarations.h +++ b/Eigen/src/Core/util/ForwardDeclarations.h @@ -74,7 +74,7 @@ template<typename DecompositionType> struct ei_image_retval_base; template<typename DecompositionType> struct ei_image_retval; template<typename _Scalar, int Rows=Dynamic, int Cols=Dynamic, int Supers=Dynamic, int Subs=Dynamic, int Options=0> class BandMatrix; - +template<typename _Scalar, int Rows=Dynamic, int Cols=Dynamic, int ColsUsed=Dynamic, int Options=0> class ColumnMatrix; template<typename Lhs, typename Rhs> struct ei_product_type; template<typename Lhs, typename Rhs, @@ -150,5 +150,8 @@ template<typename MatrixType,int Direction> class Homogeneous; // Sparse module: template<typename Lhs, typename Rhs, int ProductMode> class SparseProduct; +// Skyline module: +template<typename Lhs, typename Rhs, int ProductMode> class SkylineProduct; + #endif // EIGEN_FORWARDDECLARATIONS_H |