From f8bae6109524d2466783cbb850a6d69d641a4db9 Mon Sep 17 00:00:00 2001 From: nojhan Date: Mon, 9 Jul 2012 22:58:55 +0200 Subject: [PATCH] use row major everywhere with Eigen --- edo/src/edoEstimatorNormalMulti.h | 6 ++++-- edo/src/edoNormalMulti.h | 4 ++-- edo/src/edoNormalMultiCenter.h | 4 +++- edo/src/edoSamplerNormalMulti.h | 6 ++++-- edo/test/t-edoEstimatorNormalMulti.cpp | 6 ++++-- edo/test/t-mean-distance.cpp | 6 ++++-- 6 files changed, 21 insertions(+), 11 deletions(-) diff --git a/edo/src/edoEstimatorNormalMulti.h b/edo/src/edoEstimatorNormalMulti.h index 76d535da4..f5666b8f5 100644 --- a/edo/src/edoEstimatorNormalMulti.h +++ b/edo/src/edoEstimatorNormalMulti.h @@ -163,8 +163,10 @@ public: { public: typedef typename EOT::AtomType AtomType; - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector; - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix; + // typedef typename edoNormalMulti::Vector Vector; + // typedef typename edoNormalMulti::Matrix Matrix; + typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector; + typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix; CovMatrix( const eoPop< EOT >& pop ) { diff --git a/edo/src/edoNormalMulti.h b/edo/src/edoNormalMulti.h index d5f76871f..1f34bc838 100644 --- a/edo/src/edoNormalMulti.h +++ b/edo/src/edoNormalMulti.h @@ -83,8 +83,8 @@ class edoNormalMulti : public edoDistrib< EOT > { public: typedef typename EOT::AtomType AtomType; - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector; // Note: by default, Eigen is column-major - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix; + typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector; + typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix; edoNormalMulti( const Vector & mean, diff --git a/edo/src/edoNormalMultiCenter.h b/edo/src/edoNormalMultiCenter.h index 8dac84613..07d5e3d37 100644 --- a/edo/src/edoNormalMultiCenter.h +++ b/edo/src/edoNormalMultiCenter.h @@ -57,11 +57,13 @@ class edoNormalMultiCenter : public edoModifierMass< edoNormalMulti< EOT > > { public: typedef typename EOT::AtomType AtomType; + // typedef typename edoNormalMulti::Vector Vector; + typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector; void operator() ( edoNormalMulti< EOT >& distrib, EOT& mass ) { assert( distrib.size() == mass.innerSize() ); - Eigen::Matrix< AtomType, Eigen::Dynamic, 1 > mean( mass ); + Vector mean( mass ); distrib.mean() = mean; } }; diff --git a/edo/src/edoSamplerNormalMulti.h b/edo/src/edoSamplerNormalMulti.h index b0a43d1a6..702d05aff 100644 --- a/edo/src/edoSamplerNormalMulti.h +++ b/edo/src/edoSamplerNormalMulti.h @@ -96,8 +96,10 @@ class edoSamplerNormalMulti : public edoSampler< EOD > { public: typedef typename EOT::AtomType AtomType; - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector; - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix; + // typedef typename edoNormalMulti::Vector Vector; + // typedef typename edoNormalMulti::Matrix Matrix; + typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector; + typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix; edoSamplerNormalMulti( edoRepairer & repairer ) : edoSampler< EOD >( repairer) diff --git a/edo/test/t-edoEstimatorNormalMulti.cpp b/edo/test/t-edoEstimatorNormalMulti.cpp index c62f6dfab..e1fd88712 100644 --- a/edo/test/t-edoEstimatorNormalMulti.cpp +++ b/edo/test/t-edoEstimatorNormalMulti.cpp @@ -48,8 +48,10 @@ typedef EOT::AtomType AtomType; #else #ifdef WITH_EIGEN #include - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector; - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix; + // typedef typename edoNormalMulti::Vector Vector; + // typedef typename edoNormalMulti::Matrix Matrix; + typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector; + typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix; #endif #endif diff --git a/edo/test/t-mean-distance.cpp b/edo/test/t-mean-distance.cpp index d119c1a94..45448e82c 100644 --- a/edo/test/t-mean-distance.cpp +++ b/edo/test/t-mean-distance.cpp @@ -53,8 +53,10 @@ typedef EOT::AtomType AtomType; #else #ifdef WITH_EIGEN #include - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, 1> Vector; - typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic> Matrix; + // typedef typename edoNormalMulti::Vector Vector; + // typedef typename edoNormalMulti::Matrix Matrix; + typedef Eigen::Matrix< AtomType, 1, Eigen::Dynamic, Eigen::RowMajor> Vector; + typedef Eigen::Matrix< AtomType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix; #endif #endif