aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core
diff options
context:
space:
mode:
authorGravatar kayhman <kayhman@contact.intra.cea.fr>2009-11-04 15:18:12 +0100
committerGravatar kayhman <kayhman@contact.intra.cea.fr>2009-11-04 15:18:12 +0100
commit1333fe651d2b73df92cec8738097f893f698f468 (patch)
tree9ebdd3a7659707881491bd29ec7b97a735977876 /Eigen/src/Core
parent103f74161988299324d301bd9e71f04a1d5142a1 (diff)
Added basic SkylineMatrix.
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r--Eigen/src/Core/MatrixBase.h5
-rw-r--r--Eigen/src/Core/util/Constants.h2
-rw-r--r--Eigen/src/Core/util/ForwardDeclarations.h5
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