From cd0ff253ec906f0b4604ec084df3d7e7cc6811d1 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 30 Jul 2014 15:22:50 +0200 Subject: Make permutation compatible with sparse matrices --- Eigen/src/Core/PermutationMatrix.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'Eigen/src/Core/PermutationMatrix.h') diff --git a/Eigen/src/Core/PermutationMatrix.h b/Eigen/src/Core/PermutationMatrix.h index 5d648c68c..84d64edb3 100644 --- a/Eigen/src/Core/PermutationMatrix.h +++ b/Eigen/src/Core/PermutationMatrix.h @@ -13,7 +13,8 @@ namespace Eigen { -template class PermutedImpl; +// TODO: this does not seems to be needed at all: +// template class PermutedImpl; /** \class PermutationBase * \ingroup Core_Module @@ -276,6 +277,7 @@ template > : traits > { + typedef PermutationStorage StorageKind; typedef Matrix<_StorageIndexType, SizeAtCompileTime, 1, 0, MaxSizeAtCompileTime, 1> IndicesType; typedef typename IndicesType::Index Index; typedef _StorageIndexType StorageIndexType; @@ -397,6 +399,7 @@ template,_PacketAccess> > : traits > { + typedef PermutationStorage StorageKind; typedef Map, _PacketAccess> IndicesType; typedef typename IndicesType::Index Index; typedef _StorageIndexType StorageIndexType; @@ -468,8 +471,6 @@ class Map class TranspositionsWrapper; namespace internal { template @@ -665,6 +666,8 @@ struct traits > > } // end namespace internal +// TODO: the specificties should be handled by the evaluator, +// at the very least we should only specialize TransposeImpl template class Transpose > : public EigenBase > > -- cgit v1.2.3